1

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
Michael
  • 11
  • Replied as an edit to the original post. Is that an okay way to do it? – Michael Feb 25 '16 at 02:10
  • Did you modify debconf.conf? It differs wildly from mine (same Ubuntu release). What's the output of apt-cache policy debconf? – David Foerster Feb 25 '16 at 09:31
  • According to the manual of debconf.conf(5), the Stack stanza (line 3) requires a list of existing other databases. This is not the case here, since neither config nor passwords exist as databases. – David Foerster Feb 25 '16 at 09:38
  • Interesting. I haven't edited the debconf file myself. Is it just as simple as adding databases into the file? If so, how would I know which to add? – Michael Feb 25 '16 at 22:24
  • 2
    In that case I think your best bet is to re-install the package and restore the original configuration file(s) in the process: sudo apt-get install --reinstall -o Dpkg::Options::=--force-confmiss debconf (Source). – David Foerster Feb 26 '16 at 03:51
  • P.S.: apt-cache doesn't list a package source for debconf (which may prevent the installation command from my last comment from working). That is very odd. Mine for comparison. Does apt-get update work correctly? What's the content of /etc/apt/sources.list? – David Foerster Feb 26 '16 at 03:54
  • Looks like apt-get update works just fine. I haven't changed any sources since well before the problem began. The output of the commands is above. – Michael Feb 26 '16 at 23:49
  • If apt-get doesn't want to install debconf because of unrelated dependency issues, I suggest apt-get download debconf && sudo dpkg -i --force-confmiss debconf_*.deb. – David Foerster Feb 27 '16 at 00:13
  • Compilation is still failing (see Edit4). I really appreciate you help so far! Truly, I do. I really hope there's a solution that doesn't require reinstalling the OS and starting from scratch! – Michael Feb 28 '16 at 02:39
  • Ok, so you can't install debconf and restore its configuration because the debconf configuration is broken. In that case we can do it manually: 1) You already downloaded debconf_1.5.51ubuntu2_all.deb, 2) run sudo 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) run sudo apt-get install -f to fix missing package dependencies. – David Foerster Feb 28 '16 at 03:13
  • No joy. No unmet dependencies error, but back to the compilation failure. Edit5 above. – Michael Feb 28 '16 at 19:23
  • Hmmm… Is /etc/debconf.conf still the same as before? If so, open debconf_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
  • I was able to extract the file and copied it into /etc/debconf.conf (after I renamed the old file). I attempted to upgrade, which failed (suggesting that I try sudo apt-get -f install). After attempting -f install, I am still running into the same compilation issue (See EDIT6). – Michael Feb 29 '16 at 01:05
  • Okay... Looks like maybe some progress! I've got sources in the apt-cache policy debconf! (EDIT7) – Michael Feb 29 '16 at 01:31
  • At this point I don't know what else to do. – David Foerster Feb 29 '16 at 08:05
  • Thanks for your help, anyway. If I ever get it working, I'll update this thread. – Michael Mar 01 '16 at 00:45

0 Answers0