Package: fakechroot
Version: 2.15-1
Severity: normal
I've tried this with 2.15-1 backported to squeeze, and i've also tried
it with 2.9-1.1+squeeze1 on a squeeze system; i get the same failure
either way.
>From a squeeze system, I've done the initial part of a debootstrap
--variant=fakechroot as a non-privileged user to populate /tmp/root
with a sid install. The debootstrap fails after unpacking the initial
packages, at the start of running their postinst scripts.
dpkg: regarding .../base-files_6.5_i386.deb containing base-files,
pre-dependency problem:
base-files pre-depends on awk
awk is not installed.
dpkg: warning: ignoring pre-dependency problem!
(Reading database ... 0 files and directories currently installed.)
Unpacking base-files (from .../base-files_6.5_i386.deb) ...
Selecting previously unselected package base-passwd.
Unpacking base-passwd (from .../base-passwd_3.5.24_i386.deb) ...
dpkg: base-passwd: dependency problems, but configuring anyway as you requested:
base-passwd depends on libc6 (>= 2.1); however:
Package libc6 is not installed.
Setting up base-passwd (3.5.24) ...
cp: /lib/libacl.so.1: version `ACL_1.2' not found (required by cp)
...
here's /bin/cp failing on its own:
0 tester@stylus:~$ fakechroot /usr/sbin/chroot /tmp/root /bin/cp /root/test
/root/test2
/bin/cp: /lib/libacl.so.1: version `ACL_1.2' not found (required by /bin/cp)
1 tester@stylus:~$
when i used strace to figure out which libraries were being loaded, i
found that ld-linux from the non-multiarch host (squeeze) system looks
for the libraries in non-multiarch paths, can't find them in the
chroot, and so falls back to loading them from the parent filesystem:
...
open("/usr/lib/fakechroot/libacl.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/tmp/root/usr/lib/libacl.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/tmp/root/lib/libacl.so.1", O_RDONLY) = -1 ENOENT (No such file or
directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/libacl.so.1", O_RDONLY) = 3
...
In particular, this is happening with ld-linux.so from 2.11 (squeeze)
when the targeted chroot is sid.
I believe this is another issue (like #650234) caused by the fact that
fakechroot can't override ld-linux.so.2. Since the host system's
ld-linux.so.2 in this case doesn't know how to search for multi-arch
library paths, it ends up failing to find the paths within the chroot.
In particular, it makes it so that "debootstrap --variant=fakechroot
sid" won't work on squeeze at all, even with a backported fakechroot
2.15.
--dkg
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing'), (200, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 3.0.0-1-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages fakechroot depends on:
ii libfakechroot 2.15-1
fakechroot recommends no packages.
fakechroot suggests no packages.
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]