Package: sbuild
Version: 0.60.0-2squeeze1
Severity: normal
Hi, it's me again ;P
I've recently discovered that some of my packages stopped building because of
the following error:
Checking for source dependency conflicts...
E: Package 'libjpeg-dev' has no installation candidate
libjpeg-dev is a virtual package provided by:
Using (no default, using first one)
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 339.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 340.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 341.
Use of uninitialized value $command in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 353.
Use of uninitialized value in exec at /usr/share/perl5/Sbuild/Chroot.pm line
354.
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::compare
Installing positive dependencies: debhelper docbook-xml docbook-xsl ladspa-sdk
libaa1-dev libasound2-dev libaudio-dev libcaca-dev libcdparanoia-dev
libdirectfb-dev libdts-dev libdvdnav-dev libdvdread-dev libenca-dev libfaad-dev
libfontconfig1-dev libfreetype6-dev libfribidi-dev libgif-dev libgl1-mesa-dev
libjack-dev libjpeg-dev liblircclient-dev liblivemedia-dev liblzo2-dev
libmpcdec-dev libncurses5-dev libopenal-dev libpng12-dev libpulse-dev
libschroedinger-dev libsdl1.2-dev xsltproc libsmbclient-dev libspeex-dev yasm
zlib1g-dev libtheora-dev libvdpau-dev libvorbis-dev libvorbisidec-dev
libx11-dev libxext-dev libxinerama-dev libxv-dev libxvmc-dev libxxf86dga-dev
libxxf86vm-dev pkg-config python vstream-client-dev x11proto-core-dev ccache
quilt
Reading package lists...
Building dependency tree...
Reading state information...
Package libjpeg-dev is a virtual package provided by:
E: Package 'libjpeg-dev' has no installation candidate
libjpeg-dev is a virtual package provided by:
Using (no default, using first one)
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 339.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 340.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 341.
Use of uninitialized value $command in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 353.
Use of uninitialized value in exec at /usr/share/perl5/Sbuild/Chroot.pm line
354.
Reading package lists...
Building dependency tree...
Reading state information...
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::compare
apt-get failed.
Package installation failed
Investigating this, I noticed that sbuild calls apt-get with '-q' in -s mode:
D: Running command: /usr/bin/schroot -d / -c
sid-ia64-sbuild-3667d049-42aa-43a0-88ac-f064fee342c4 --run-session -q -u root
-p -- /usr/bin/apt-get --purge -o DPkg::Options::=--force-confold -q -s install
debhelper docbook-xml docbook-xsl ladspa-sdk libaa1-dev libasound2-dev
libaudio-dev libcaca-dev libcdparanoia-dev libdirectfb-dev libdts-dev
libdvdnav-dev libdvdread-dev libenca-dev libfaad-dev libfontconfig1-dev
libfreetype6-dev libfribidi-dev libgif-dev libgl1-mesa-dev libjack-dev
libjpeg-dev liblircclient-dev liblivemedia-dev liblzo2-dev libmpcdec-dev
libncurses5-dev libopenal-dev libpng12-dev libpulse-dev libschroedinger-dev
libsdl1.2-dev xsltproc libsmbclient-dev libspeex-dev yasm zlib1g-dev
libtheora-dev libvdpau-dev libvorbis-dev libvorbisidec-dev libx11-dev
libxext-dev libxinerama-dev libxv-dev libxvmc-dev libxxf86dga-dev
libxxf86vm-dev pkg-config python vstream-client-dev x11proto-core-dev ccache
quilt
Turns out -q apparently inhibits apt-get from displaying the providers of the
virtual package:
buildd@envy:~/build$ /usr/bin/schroot -d / -c sid-ia64-sbuild -q -u root -p --
/usr/bin/apt-get --purge -o DPkg::Options::=--force-confold -q -s install
libjpeg-dev
Reading package lists...
Building dependency tree...
Reading state information...
Package libjpeg-dev is a virtual package provided by:
E: Package 'libjpeg-dev' has no installation candidate
buildd@envy:~/build$ /usr/bin/schroot -d / -c sid-ia64-sbuild -q -u root -p --
/usr/bin/apt-get --purge -o DPkg::Options::=--force-confold -s install
libjpeg-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libjpeg-dev is a virtual package provided by:
libjpeg8-dev 8c-2
libjpeg62-dev 6b1-1
You should explicitly select one to install.
So, I tried editing /usr/share/perl5/Sbuild/Build.pm:1136 to remove the '-q'
bit, but unfortunately it didn't fix the issue.
I've checked that the apt-get command did NOT include '-q', and that was right.
Still, for some reason, either sbuild doesn't get the output from apt-get, or
apt-get isn't showing its
expected behaviour when run through sbuild, because I still got the same error
messages. Adding a 'print("pipe: $_");' at line 1147, in the "while(<pipe>)"
block, shows:
Checking for source dependency conflicts...
pipe: Reading package lists...
pipe: Building dependency tree...
pipe: Reading state information...
pipe: Package libjpeg-dev is a virtual package provided by:
E: Package 'libjpeg-dev' has no installation candidate
libjpeg-dev is a virtual package provided by:
Using (no default, using first one)
Use of uninitialized value $selected in concatenation (.) or string at
/usr/share/perl5/Sbuild/Build.pm line 1179.
Use of uninitialized value $aptcommand[59] in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 379.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 235.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 339.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 340.
Use of uninitialized value in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 341.
Use of uninitialized value $command in join or string at
/usr/share/perl5/Sbuild/Chroot.pm line 353.
Use of uninitialized value in exec at /usr/share/perl5/Sbuild/Chroot.pm line
354.
pipe: Reading package lists...
pipe: Building dependency tree...
pipe: Reading state information...
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::compare
Installing positive dependencies: [snip]
sbuild never gets the list of providers, and thus cannot pick any.
I *think* this might be a recent apt-get bug since I had the same issue with
sbuild 0.58.2 a couple days before upgrading, but maybe it's also a new
"expected" behaviour from apt-get and
thus sbuild should get fixed...
In any case, the fact is it breaks the virtual resolver for packages with
multiple providers (i've tested that when there's only one provider, there is
no problem. I suppose apt-get does
the right thing then).
HTH
T-Bone
-- System Information:
Debian Release: 6.0.2
APT prefers stable
APT policy: (500, 'stable')
Architecture: ia64
Kernel: Linux 2.6.32.40 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=locale: Cannot set
LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Versions of packages sbuild depends on:
ii adduser 3.112+nmu2 add and remove users and groups
ii libsbuild-perl 0.60.0-2squeeze1 Tool for building Debian binary pa
ii perl 5.10.1-17squeeze2 Larry Wall's Practical Extraction
ii perl-modules 5.10.1-17squeeze2 Core Perl modules
Versions of packages sbuild recommends:
ii debootstrap 1.0.26+squeeze1 Bootstrap a basic Debian system
ii fakeroot 1.14.4-1 Gives a fake root environment
Versions of packages sbuild suggests:
pn deborphan <none> (no description available)
ii wget 1.12-2.1 retrieves files from the web
-- debconf information:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]