I'm using a Gentoo box and I want to create Debian-based chroot environments without using the root account or sudo.
This seems to be possible using tools such as fakeroot and fakechroot, but so far I haven't had any success with them. Here is the command that I'm using for Precise:
fakeroot fakechroot /usr/sbin/debootstrap --variant=fakechroot precise ./precise http://archive.ubuntu.com/ubuntu/
It always fails with the same error:
I: Installing core packages...
W: Failure trying to run: chroot precise dpkg --force-depends --install /var/cache/apt/archives/base-passwd_3.5.24_amd64.deb
W: See precise/debootstrap/debootstrap.log for details
And the contents of debootstrap.log are:
dpkg: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory
I have no idea why SELinux is being pulled in and why it's not properly handling this dependency. Also, I've tried to build Wheezy and Jessie as well. Same error.
What's going on? Versions:
debootstrap-1.0.67
fakeroot-1.19
fakechroot-2.17.2
kernel-3.19.6
fakeroot and fakechroot are not the problem here. It looks like libselinux.so.1 was used when dpkg was originally built. First, try the locate command:
locate libselinux
without the version. This should 1) confirm that it truly does not exist, or 2) that it does exist, but not in your $LD_LIBRARY_PATH or default library search path.
If locate turns up another version, use the ln -s command to create the symlink (libselinux.so.1) pointing to the existing version you do have.
To see the dependency, run:
ldd `which dpkg`
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With