[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#678943: espeakup-udeb uninstallable: depends on libgcc1 can't be satisfied



reassign 678943 debian-installer 20120508
retitle  678943 debian-installer: FTBFS with foreign libgcc1 installed
thanks

Cyril Brulebois <kibi@debian.org> (25/06/2012):
> Cyril Brulebois <kibi@debian.org> (25/06/2012):
> > Package: espeakup-udeb
> > Version: 1:0.71-8
> > Severity: grave
> > Tags: d-i
> > Justification: renders package unusable
> > 
> > Hi,
> > 
> > espeakup-udeb can't be installed, due to its dependency on libgcc1:
> > | Building dependency tree...
> > |   […]
> > |   espeakup-udeb:amd64 Depends on libgcc1 [ amd64 ] < none > ( none ) can't be satisfied!
> > 
> > This is on the critical path to d-i beta 1.
> 
> This is apparently only true in a multiarchified environment (here: i386
> as foreign arch on amd64), no issues in a clean sbuild chroot. Lowering
> severity for now.

Having a multiarchified environment alone isn't exactly what triggers
that. Installing a foreign package among a tiny list is what's causing
grief.

build/util/get-packages does that:
|         # Prime status file with a few system libraries that don't
|         # currently have udebs, or which udebs still depend on for various
|         # reasons.
|         echo -n > $APTDIR/state/status
|         # Some archs have libc6, others have libc6.1. libgcc1 is not used
|         # on all architectures.
|         for i in libc0.1 libc0.3 libc6 libc6.1 libnewt0.52 libgcc1; do
|                 if dpkg -s $i >/dev/null 2>&1; then
|                         dpkg -s $i | grep -v Depends: >> $APTDIR/state/status
|                         echo >> $APTDIR/state/status
|                 fi
|         done
|         APT_GET="$APT_GET -o Dir::State::Status=`pwd`/$APTDIR/state/status"

Which works fine if there's no duplicate (e.g. libgcc1:amd64 +
libgcc:i386). Otherwise:
| $ dpkg -s libgcc1
| dpkg-query: error: --status needs a valid package name but 'libgcc1' is not: ambiguous package name 'libgcc1' with more than one installed instance
| 
| Use --help for help about querying packages.

Given the use of “dpkg -s $i >/dev/null 2>&1”, the error is silently
ignored, and things go kaboom after that. I'll have to check the recent
dpkg changes to see what is the appropriate way to check whether a given
package is installed, possibly by qualifying it with the architecture
(but then it has to work with pre-multiarch dpkg). I should be
submitting a patch tonight.

Mraw,
KiBi.

Attachment: signature.asc
Description: Digital signature


Reply to: