[CMake] FindPythonLibs
James Bigler
bigler at cs.utah.edu
Wed Feb 22 18:35:45 EST 2006
William A. Hoffman wrote:
> At 03:36 PM 2/22/2006, James Bigler wrote:
>>> CMake should prefer the shared versions of libraries. Is there a:
>>> /usr/lib/python2.4/config/libpython2.4.so on your machine?
>> No. I'm using Suse 9.3, GCC 3.3.5, CMake 2.2-patch 3, SWIG version 1.3.21, and python 2.4.
>>
>> ls -l /usr/lib/python2.4/config/
>> total 1682
>> -rw-r--r-- 1 root root 4952 2005-03-22 14:51 ccpython.o
>> -rw-r--r-- 1 root root 1777 2005-03-22 14:51 config.c
>> -rw-r--r-- 1 root root 1191 2005-03-22 14:51 config.c.in
>> -rwxr-xr-x 1 root root 7122 2005-03-22 14:51 install-sh*
>> -rw-r--r-- 1 root root 1550468 2005-03-22 14:51 libpython2.4.a
>> -rw-r--r-- 1 root root 35789 2005-03-22 14:51 Makefile
>> -rw-r--r-- 1 root root 32934 2005-03-22 14:51 Makefile.pre
>> -rw-r--r-- 1 root root 32455 2005-03-22 14:51 Makefile.pre.in
>> -rwxr-xr-x 1 root root 7430 2005-03-22 14:51 makesetup*
>> -rw-r--r-- 1 root root 17394 2005-03-22 14:51 Setup
>> -rw-r--r-- 1 root root 368 2005-03-22 14:51 Setup.config
>> -rw-r--r-- 1 root root 41 2005-03-22 14:51 Setup.local
>>
>>> Since CMake uses -L, I am thinking there must not be a linkable .so in
>>> the same directory as the .a. Where is your shared version of python located?
>> ls -l /usr/lib/libpython2.4.so*
>> lrwxrwxrwx 1 root root 19 2006-01-13 12:18 /usr/lib/libpython2.4.so -> libpython2.4.so.1.0
>>
>> -rw-r--r-- 1 root root 1134954 2005-03-22 14:51 /usr/lib/libpython2.4.so.1.0
>
> Is this a standard install? On most systems the shared library would also be in the config directory,
> and would be the preferred one to use.
This is how YaST installed the libraries in SuSE.
# rpm -q --filesbypkg python-devel-2.4-14 | grep libpyth
python-devel /usr/lib/libpython2.4.so
python-devel /usr/lib/python2.4/config/libpython2.4.a
However on my ubuntu 5.10 system, there are both shared and static
libraries in config:
$ dpkg -L python2.4-dev | grep libpython
/usr/lib/python2.4/config/libpython2.4.a
/usr/lib/python2.4/config/libpython2.4-pic.a
/usr/lib/python2.4/config/libpython2.4.so
/usr/lib/libpython2.4.so
So it could just be how Suse sets it up, but it is troubling none the less.
Should FIND_LIBRARY search all the paths for a shared library and then go back
and look for static ones?
Thanks,
James
More information about the CMake
mailing list