471,326 Members | 1,857 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,326 software developers and data experts.

install python to custom prefix with custom library directories

Today I needed to install python from source on linux to a custom path. /usr/lib/libtk8.3.so existed, but I wanted python to link to /my/custom/path/lib/libtk8.4.so.

I had LDFLAGS set:

LDFLAGS="-L/my/custom/path/lib -Wl,-rpath,$base/lib -Wl,--enable-new-dtags"

configure looked like this:

../configure --prefix=/my/custom/path/python-2.5.1 --enable-shared

but python always linked against /usr/lib/libtk8.3.so instead of libtk8.4.so

I ended up modifying setup.py (see below) but there must be a more user-friendly way to do this. Right? Thank you for your time!

BTW, I don't have root access on this machine

--- setup.py.original 2007-07-17 12:51:27 -04:00
+++ setup.py 2007-07-17 13:21:57 -04:00
@@ -293,10 +293,14 @@
# lib_dirs and inc_dirs are used to search for files;
# if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed.
+ self.compiler.library_dirs.insert(0,
+ '/my/custom/path/lib')
lib_dirs = self.compiler.library_dirs + [
'/lib64', '/usr/lib64',
'/lib', '/usr/lib',
]
+ self.compiler.include_dirs.insert(0,
+ '/my/custom/path/include')
inc_dirs = self.compiler.include_dirs + ['/usr/include']
exts = []

--
Poor Yorick
Jul 17 '07 #1
0 1066

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Richard Petty | last post: by
1 post views Thread by danu kusmana | last post: by
2 posts views Thread by ariza | last post: by
reply views Thread by fqueirolo | last post: by
4 posts views Thread by Christopher Taylor | last post: by
3 posts views Thread by Tina I | last post: by
3 posts views Thread by =?UTF-8?Q?Ahmad_=E3=8B=A1_Baitalmal?= | last post: by
reply views Thread by rosydwin | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.