I have a problem with python-config --ldflags on OS X 10.6.2.
Using my non-system python.org python install:
robin-mbp:~ robince$ which python
/Library/Frameworks/Python.framework/Versions/2.5/bin/python
robin-mbp:~ robince$ python-config --ldflags
-L/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -ldl -lpython2.5
But if I build a c program embedding Python with the above LDFLAGS, it results in the system python being embedded. It seems -lpython2.5 is picking up the system python first, before the one in the -L path.
So far the only way I’ve got it to work is with
LDFLAGS=-F/ -framework Python
but when it comes to distributing I’d really like to be able to use python-config.
What is going on with the library search path that stops it working as expected? According to the man page -L paths should be searched before the default path.
Is there any option along the lines of ‘forget the default search path and search only paths specified with -L’ that I could add to python-config output to get it to work?
Or is there any way to extract the working -framework flags from whichever Python is on the path (that would work for whatever the user is using, ie system, python.org, macports or own built)?
Sorry to answer my own question but I got an amazingly prompt reply on the pythonmac-sig mailing list where I also asked. It is a bug with current python: http://bugs.python.org/issue7541
Suggested workaround:
EDIT: Further update: