everyone! I've been searching for a solution to this problem for weeks now, but nothing I've tried has worked. I am running a ARM version of Ubuntu 14.04 Server on an Odroid XU4. I'm not doing much with the server, and it was running fine until I attempted to update and upgrade the day the OpenSSH vulnerabilities were found (it's been a while...). Anyhow, I keep getting errors that cause compilation to abort during upgrade, even when forced. There's also an unmet dependency issue.
This is my first time posting to these forums, so I might need a little help finding the required logs for you guys, but I'll copy the initial output of sudo apt-get -f install
:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libc6
Suggested packages:
glibc-doc
The following packages will be upgraded:
libc6
1 upgraded, 0 newly installed, 0 to remove and 36 not upgraded.
4 not fully installed or removed.
Need to get 0 B/3,905 kB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue? [Y/n] y
debconf: Problem setting up the database defined by stanza 3 of /etc/debconf.conf.
Global symbol "$env_unix_rpt" requires explicit package name at /usr/lib/perl/5.18/Cwd.pm line 58, <DEBCONF_CONFIG> chunk 3.
BEGIN not safe after errors--compilation aborted at /usr/lib/perl/5.18/Cwd.pm line 647, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at (eval 24) line 2, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at (eval 24) line 2, <DEBCONF_CONFIG> chunk 3.
Setting up debconf (1.5.51ubuntu2) ...
debconf: Problem setting up the database defined by stanza 3 of /etc/debconf.conf.
Global symbol "$env_unix_rpt" requires explicit package name at /usr/lib/perl/5.18/Cwd.pm line 58, <DEBCONF_CONFIG> chunk 3.
BEGIN not safe after errors--compilation aborted at /usr/lib/perl/5.18/Cwd.pm line 647, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at (eval 23) line 2, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at (eval 23) line 2, <DEBCONF_CONFIG> chunk 3.
dpkg: error processing package debconf (--configure):
subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
debconf
E: Sub-process /usr/bin/dpkg returned an error code (1)
Output of /etc/debconf.conf
:
Name: configdb
Driver: Stack
Stack: config, passwords
# Set up the templatedb database, which is a single flat text file
# by default.
Name: templatedb
Driver: File
Mode: 644
Filename: /var/cache/debconf/templates.dat
# Well that was pretty straightforward, and it will be enough for most
# people's needs, but debconf's database drivers can be used to do much
# more interesting things. For example, suppose you want to use config
# data from another host, which is mounted over nfs or perhaps the database
# is accessed via LDAP. You don't want to write to the remote debconf database,
# just read from it, so you still need a local database for local changes.
#
# A remote NFS mounted database, read-only. It is optional; if debconf
# fails to use it it will not abort.
#Name: remotedb
#Driver: DirTree
#Directory: /mnt/otherhost/var/cache/debconf/config
#Readonly: true
#Required: false
#
# A remote LDAP database. It is also read-only. The password is really
# only necessary if the database is not accessible anonymously.
# Option KeyByKey instructs the backend to retrieve keys from the LDAP
# server individually (when they are requested), instead of loading all
# keys at startup. The default is 0, and should only be enabled if you
# want to track accesses to individual keys on the LDAP server side.
#Name: remotedb
#Driver: LDAP
#Server: remotehost
#BaseDN: cn=debconf,dc=domain,dc=com
#BindDN: uid=admin,dc=domain,dc=com
#BindPasswd: secret
#KeyByKey: 0
#
# A stack consisting of two databases. Values will be read from
# the first database in the stack to contain a value. In this example,
# writes always go to the first database.
#Name: fulldb
#Driver: Stack
#Stack: configdb, remotedb
#
# In this example, we'd use Config: fulldb at the top of the file
# to make it use the combination of the databases.
#
# Even more complex and interesting setups are possible, see the
# debconf.conf(5) page for details.
EDIT2: Output of apt-cache policy debconf
debconf:
Installed: 1.5.51ubuntu2
Candidate: 1.5.51ubuntu2
Version table:
*** 1.5.51ubuntu2 0
100 /var/lib/dpkg/status
I have not edited debconf.conf myself.
EDIT3: Output of apt-get install --reinstall -o Dpkg::Options::=--force-confmiss debconf
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libc6-dev : Depends: libc6 (= 2.19-0ubuntu6.7) but 2.19-0ubuntu6.6 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
apt-get update works fine. contents of /etc/apt/sources.list:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ trusty universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty universe
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-updates universe
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-backports main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-backports main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security universe
deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security multiverse
deb http://deb.torproject.org/torproject.org trusty main
deb-src http://deb.torproject.org/torproject.org trusty main
EDIT4: After running apt-get download debconf && sudo dpkg -i --force-confmiss debconf_*.deb
I got this as an output:
Get:1 http://ports.ubuntu.com/ubuntu-ports/ trusty/main debconf all 1.5.51ubuntu2 [136 kB]
Fetched 136 kB in 0s (149 kB/s)
(Reading database ... 26519 files and directories currently installed.)
Preparing to unpack debconf_1.5.51ubuntu2_all.deb ...
Unpacking debconf (1.5.51ubuntu2) over (1.5.51ubuntu2) ...
Setting up debconf (1.5.51ubuntu2) ...
debconf: Problem setting up the database defined by stanza 3 of /etc/debconf.conf.
Global symbol "$env_unix_rpt" requires explicit package name at /usr/lib/perl/5.18/Cwd.pm line 58, <DEBCONF_CONFIG> chunk 3.
BEGIN not safe after errors--compilation aborted at /usr/lib/perl/5.18/Cwd.pm line 647, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at (eval 23) line 2, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at (eval 23) line 2, <DEBCONF_CONFIG> chunk 3.
dpkg: error processing package debconf (--install):
subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
debconf
This is what I've been seeing a lot. Explicit package names required to install anything.
EDIT5: After running a the following series of commands
sudo apt-get download debconf
sudo dpkg-deb -x debconf_1.5.51ubuntu2_all.deb /
sudo dpkg -i --force-confmiss debconf_*.deb
sudo apt-get install -f
I got the following output. (The first 3 steps succeeded. The final step is where I got this error)
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libc6 ubuntu-minimal
Suggested packages:
glibc-doc
The following packages will be upgraded:
libc6 ubuntu-minimal
2 upgraded, 0 newly installed, 0 to remove and 41 not upgraded.
4 not fully installed or removed.
Need to get 0 B/3,907 kB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue? [Y/n] y
debconf: Problem setting up the database defined by stanza 3 of /etc/debconf.conf.
Global symbol "$env_unix_rpt" requires explicit package name at /usr/lib/perl/5.18/Cwd.pm line 58, <DEBCONF_CONFIG> chunk 3.
BEGIN not safe after errors--compilation aborted at /usr/lib/perl/5.18/Cwd.pm line 647, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at (eval 24) line 2, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at (eval 24) line 2, <DEBCONF_CONFIG> chunk 3.
E: Sub-process /usr/bin/dpkg received a segmentation fault.
EDIT6: After manually overwriting the debconf.conf file with the one I was able to extract from the .deb from the repo, I attempted sudo apt-get -f install
The output was
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libc6
Suggested packages:
glibc-doc
The following packages will be upgraded:
libc6
1 upgraded, 0 newly installed, 0 to remove and 41 not upgraded.
4 not fully installed or removed.
Need to get 0 B/3,905 kB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue? [Y/n] y
debconf: Problem setting up the database defined by stanza 3 of /etc/debconf.conf.
Global symbol "$env_unix_rpt" requires explicit package name at /usr/lib/perl/5.18/Cwd.pm line 58, <DEBCONF_CONFIG> chunk 3.
BEGIN not safe after errors--compilation aborted at /usr/lib/perl/5.18/Cwd.pm line 647, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at (eval 24) line 2, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at (eval 24) line 2, <DEBCONF_CONFIG> chunk 3.
Setting up debconf (1.5.51ubuntu2) ...
debconf: Problem setting up the database defined by stanza 3 of /etc/debconf.conf.
Global symbol "$env_unix_rpt" requires explicit package name at /usr/lib/perl/5.18/Cwd.pm line 58, <DEBCONF_CONFIG> chunk 3.
BEGIN not safe after errors--compilation aborted at /usr/lib/perl/5.18/Cwd.pm line 647, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at /usr/share/perl5/Debconf/DbDriver/File.pm line 8, <DEBCONF_CONFIG> chunk 3.
Compilation failed in require at (eval 23) line 2, <DEBCONF_CONFIG> chunk 3.
BEGIN failed--compilation aborted at (eval 23) line 2, <DEBCONF_CONFIG> chunk 3.
dpkg: error processing package debconf (--configure):
subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
debconf
E: Sub-process /usr/bin/dpkg returned an error code (1)
EDIT7: After overwriting the debconf.conf and running 'apt-cache policy debconf' I finally have some output!
Here it is:
debconf:
Installed: 1.5.51ubuntu2
Candidate: 1.5.51ubuntu2
Version table:
*** 1.5.51ubuntu2 0
500 http://ports.ubuntu.com/ubuntu-ports/ trusty/main armhf Packages
100 /var/lib/dpkg/status
debconf.conf
? It differs wildly from mine (same Ubuntu release). What's the output ofapt-cache policy debconf
? – David Foerster Feb 25 '16 at 09:31debconf.conf(5)
, theStack
stanza (line 3) requires a list of existing other databases. This is not the case here, since neitherconfig
norpasswords
exist as databases. – David Foerster Feb 25 '16 at 09:38sudo apt-get install --reinstall -o Dpkg::Options::=--force-confmiss debconf
(Source). – David Foerster Feb 26 '16 at 03:51apt-cache
doesn't list a package source fordebconf
(which may prevent the installation command from my last comment from working). That is very odd. Mine for comparison. Doesapt-get update
work correctly? What's the content of/etc/apt/sources.list
? – David Foerster Feb 26 '16 at 03:54apt-get
doesn't want to installdebconf
because of unrelated dependency issues, I suggestapt-get download debconf && sudo dpkg -i --force-confmiss debconf_*.deb
. – David Foerster Feb 27 '16 at 00:13debconf
and restore its configuration because thedebconf
configuration is broken. In that case we can do it manually: 1) You already downloadeddebconf_1.5.51ubuntu2_all.deb
, 2) runsudo dpkg-deb -x debconf_1.5.51ubuntu2_all.deb /
to extract the archive to/
without installing it (since it's already installed but at least one file is corrupt), 3) do a proper installation with the command from my previous comment to ensure that the package database is fine, 4) runsudo apt-get install -f
to fix missing package dependencies. – David Foerster Feb 28 '16 at 03:13/etc/debconf.conf
still the same as before? If so, opendebconf_1.5.51ubuntu2_all.deb
with File-Roller or some other archive manager to extract the default config file manually and overwrite the one on your system with it. – David Foerster Feb 28 '16 at 22:44