2

My Ubuntu system has been giving me trouble whenever I try to install or uninstall or update software using apt-get.

Whenever I run these commands it returns an error with regards my status file. The path to this file is /var/lib/dpkg/status.

The error I get is as follows:

dpkg: parse error, in file '/var/lib/dpkg/status' near line 95 package 'python-nova':
 `Depends' field, invalid package name `python:any': character `:' not allowed (only letters, digits and characters `-+._')
E: Sub-process /usr/bin/dpkg returned an error code (2)

Can anyone help me sort out my problem?


The output of lsb_release -a; uname -a; apt-cache policy python-nova is:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty
Linux astanton-ws 3.19.0-26-generic #28~14.04.1-Ubuntu SMP Wed Aug 12 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
python-nova:
  Installed: 1:2014.1.5-0ubuntu1.3
  Candidate: 1:2014.1.5-0ubuntu1.4
  Version table:
     1:2014.1.5-0ubuntu1.4 0
        500 http://ie.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
 *** 1:2014.1.5-0ubuntu1.3 0
        100 /var/lib/dpkg/status
     1:2014.1.3-0ubuntu1.1 0
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     1:2014.1-0ubuntu1 0
        500 http://ie.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

The output of sed -n '80,97p' /var/lib/dpkg/status is:

 high performance Document Object Model (DOM) implementation. Additionally, it
 supports using the XML Path Language (XPath) to find and extract information.
Homepage: https://metacpan.org/release/XML-LibXML/
Original-Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>

Package: python-nova
Status: install ok installed
Priority: extra
Section: python
Installed-Size: 38347
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Source: nova
Version: 1:2014.1.5-0ubuntu1.3
Provides: python2.7-nova
Depends: openssh-client, openssl, python-amqplib (>= 0.6.1), python-anyjson (>= 0.3.3), python-babel, python-boto (>= 2.4.0), python-cinderclient (>= 1:1.0.5), python-eventlet (>= 0.13.0), python-glanceclient (>= 1:0.9.0), python-greenlet (>= 0.3.2), python-iso8601, python-jinja2, python-jsonschema (>= 1.3.0), python-keystoneclient (>= 1:0.3.2), python-kombu (>= 2.5.12), python-lxml (>= 2.3), python-m2crypto, python-migrate, python-netaddr (>= 0.7.6), python-neutronclient (>= 1:2.3.0), python-oslo.config (>= 1:1.2.0), python-paramiko (>= 1.8.0), python-paste, python-pastedeploy (>= 1.5.0), python-pyasn1, python-pycadf (>= 0.1.9), python-routes, python-simplejson, python-six (>= 1.5.2), python-sqlalchemy-ext (>= 0.7.8-1~) | python-sqlalchemy (<< 0.6.3-2), python-stevedore (>= 0.12), python-suds, python-webob (>= 1.2.3), sudo, python (>= 2.7), python (<< 2.8), python:any (>= 2.7.1-0ubuntu2), python-pbr, python-sqlalchemy (>= 0.8~), python-sqlalchemy (<< 0.9), python-oslo.rootwrap, python-oslo.messaging
Recommends: python-mysqldb
Suggests: python-ldap`
  • [Edit] your question and add the output of lsb_release -a; uname -a; apt-cache policy python-nova – A.B. Nov 09 '15 at 12:32
  • It's interesting, usually python:any is a valid entry for Depends – A.B. Nov 09 '15 at 13:18
  • Any chance of sed -n '80,97p' /var/lib/dpkg/status please. Or better, the corresponding package definition block in its entirety (flag up line 95 if you take this option). – Chris Davies Nov 09 '15 at 14:29
  • You're not the first to have a similar problem (http://unix.stackexchange.com/questions/174362/parse-error-in-var-lib-dpkg-status-depends-field-invalid-package-name-pyth http://unix.stackexchange.com/questions/236668/package-installation-dpkg-parse-error …). The thing is, python:any is a valid package name since at least dpkg 1.16.2 (in Ubuntu, since Ubuntu 11.04). What is the output of dpkg --version and dpkg --print-foreign-architectures? Did you initially install trusty or is this an upgrade? – Gilles 'SO- stop being evil' Nov 10 '15 at 00:06
  • That second problem is actually another question I posted - I'm still stuck with the problem ;)

    The output of dpkg --version is 1.15.5.6ubuntu2 (i386)

    The output of dpkg --print-foreign-architectures is dpkg: unknown option --print-foreign-architectures

    And I do not know as the computer was set up by another person. I would assume it was initially installed though.

    – Antoin Stanton Nov 10 '15 at 08:34

1 Answers1

0

This is due to trying to use a very ancient dpkg with newer .deb packages that make use of multi-arch features. You should try to upgrade dpkg to a newer version that supports multi-arch, usually from the next release, and not jumping directly to the latest version, as that does not tend to be supported. You might need to manually fix up the dpkg status file, install the new dpkg, then reinstall any package that required mangling.