Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm attempting to use schroot to run a 32-bit application on a 64-bit Ubuntu (actually Lubuntu) Raring installation. I was successful creating the chroot populated by the following command:

sudo debootstrap --arch=i386 raring /srv/chroot/raring_i386 http://archive.ubuntu.com/ubuntu

When I enter the chroot environment however and try to start the application I get errors about missing shared libraries. For example:

error while loading shared libraries: libICE.so.s: cannot open shared object file: No such file or directory

So far all the missing libraries in my chroot environment are located at usr/lib/i386-linux-gnu/. I can copy these missing libraries from a different full installation of 32-bit Ubuntu but I would have thought that the debootstrap step above should have downloaded these directly. Can someone provide some additional insight into how the use of debootstrap should create the chroot environment? Have I possibly missed a step or is there a different option in the call to debootstrap to tell it to get some additional shared libraries?

Much thanks!

share|improve this question

1 Answer 1

After a bit of trial/error and lucky web searching I think I found the solution I was looking for. Here's a summary of the steps I used to solve the issue:

  1. Within the chroot environment run the following command to reveal the missing libraries:

    $ ldd <binary executable>

    This will reveal missing libraries as "not found". Alternatively this command can be piped to grep as:

    $ ldd <binary executable> | grep "not found"

  2. Use the following command to locate the packages that will supply the missing libraries:

    $ apt-cache search <library name>

  3. Install the package from the previous step from within the chroot environment (multiple may be found):

    $ sudo apt-get install <package name>

After I repeated the above steps for all missing libraries I was able to successfully launch the application from the chroot environment.

The reference I found that gave me the clue to search and install missing libraries is here.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.