Redirecting ./configure --prefix

D

Dan

I suspect this isn't specifically a Python question, but I
encountered it with Python so I thought I'd ask here.

I'm running Linux (Fedora 2), and just downloaded the Python 2.4
kit. I did the following from my user account:
./configure --prefix=/some/private/dir --enable-shared
make
make test # all was okay
make install

Now, when I try to run this I get the following error:
python: error while loading shared libraries:
libpython2.4.so.1.0: cannot open shared object file: No such
file or directory

This library is in /some/private/dir/lib, but that directory is
not being searched.

So, I have these questions:
- Can I get Python to search /some/private/dir/lib for
library files?
- Will sys.path be okay? How can I make it okay?
- Is there anything else I need to worry about?

Any help would be appreciated.

Thanks,
Dan
 
D

Dave Reed

I suspect this isn't specifically a Python question, but I
encountered it with Python so I thought I'd ask here.

I'm running Linux (Fedora 2), and just downloaded the Python 2.4
kit. I did the following from my user account:
./configure --prefix=/some/private/dir --enable-shared
make
make test # all was okay
make install

Now, when I try to run this I get the following error:
python: error while loading shared libraries:
libpython2.4.so.1.0: cannot open shared object file: No such
file or directory

This library is in /some/private/dir/lib, but that directory is
not being searched.

So, I have these questions:
- Can I get Python to search /some/private/dir/lib for
library files?
- Will sys.path be okay? How can I make it okay?
- Is there anything else I need to worry about?

I think you just need to this if your shell is bash (default shell in
FC2 I think)
LD_LIBRARY_PATH=/some/private/dir/lib; export LD_LIBRARY_PATH
or if you're using csh or tcsh
setenv LD_LIBRARY_PATH /some/private/dir/lib

If that works, you can put this in the appropriate dot file so you don't
have to retype them each time you login/create a new shell.

For bash I think it's ~/.bashrc or ~/.profile
and for csh it's ~/.cshrc and ~/.tcshrc for tcsh.

HTH,
Dave
 
M

Mark Asbach

Hi Dan,
LD_LIBRARY_PATH does the trick, and sys.path seems okay by default.
Thanks!

If you are the admin of the machine and python is not the only package
installed in a non-standard directory, then editing the /etc/ld.so.conf
file might be the better option.

Have look at 'man ldconfig' and 'man ld.so'.

Yours,

Mark
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,535
Members
45,008
Latest member
obedient dusk

Latest Threads

Top