Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gentoo + debootstrap failing when used with fakeroot and fakechroot

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

like image 204
ivarec Avatar asked May 11 '15 01:05

ivarec


1 Answers

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`
like image 198
donjuedo Avatar answered Sep 21 '22 03:09

donjuedo