Building Python with non-traditional paths

djbclark at gmail.com djbclark at gmail.com
Sun Sep 3 07:44:02 EDT 2006


Is there a clean way to build Python under a non-traditional path,
linking with other software that is under non-traditional paths, on
unix?

I maintain a build of Python [1] that is part of a self-contained
bundle of software [2] to run bcfg2 [3].

The major problem I am having is getting the build to link to the
openssl libraries, which are installed under /usr/local/lib/bcfg2/lib;
I tried (on GNU/Linux):

LDFLAGS="-L/usr/local/lib/bcfg2/lib
-Wl,-rpath,/usr/local/lib/bcfg2/lib"
CPPFLAGS="-I/usr/local/lib/bcfg2/include"

but that didn't work. The only thing I could do to get it to work
(sometimes) was to edit the setup.py file directly before the
./configure; make; make install like this:

cat setup.py \
| sed s:\/usr\/local\/:\/usr\/local\/lib\/bcfg2\/:g \
| sed
s:\/usr\/local\/lib\/bcfg2\/ssl\/include:\/usr\/local\/lib\/bcfg2\/include:g
\
| sed
s:\/usr\/contrib\/ssl\/include\/:\/usr\/local\/lib\/bcfg2\/include\/openssl\/:g
\
| sed
s:\/usr\/local\/lib\/bcfg2\/ssl\/lib:\/usr\/local\/lib\/bcfg2\/lib:g \
> setup.py.bcfg2
mv setup.py.bcfg2 setup.py

However that is rather ugly, and modifies the source which I'd rather
not do. Is there a better/cleaner way?

[1] Complete build spec for Python for Bcfg2
http://www.bcfg2.org/browser/trunk/bcfg2/encap/src/encap-profiles/bcfg2-python-2.4.3.ep

[2] Bcfg2 Encap Packages - Overview
http://www.bcfg2.org/wiki/EncapPackages

[3] Bcfg2 - Provides a declarative interface to system configuration
http://www.bcfg2.org




More information about the Python-list mailing list