Python error when runs in chroot

2.8k views Asked by At

I try to run some Python programs in chroot and I get the following error

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback

I used ldd to find the libraries on which the python runtime depends and copied the inside the jail. Could you please help me with that?

Thank you

2

There are 2 answers

2
Igor Chubin On

That is because some libraries are not visible from the chroot environment.

Copy them or mount them using mount --bind.

Just to illustrate what I mean (of course you need not to copy all the libraries):

# cp -R /usr/lib /home/user/chroot/usr/lib

Or, using mount bind:

# mount --bind /usr/lib /home/user/chroot/usr/lib
1
Null On

You'll want to grab files from /usr/lib/pyshared and /usr/lib/python{$version} and copy them into your chroot.

Paths may be slightly different, you can try an strace python to see what its trying to load up.