CMake 2.8 FindPythonLibs.cmake broken for default python2.5 install

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

CMake 2.8 FindPythonLibs.cmake broken for default python2.5 install

Mark Moll-2
Between cmake 2.6.4 and cmake 2.8 the following lines were removed from the FIND_LIBRARY(PYTHON_LIBRARY ...) command in FindPythonLibs.cmake:

-    PATH_SUFFIXES
-      python${_CURRENT_VERSION}/config

I don’t understand why this was done, because this is where python libraries are found with the default settings. How do I make cmake find the python library now?
 
--
Mark



_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: CMake 2.8 FindPythonLibs.cmake broken for default python2.5 install

Marcus D. Hanwell-2
On Monday 23 November 2009 10:03:35 Mark Moll wrote:

> Between cmake 2.6.4 and cmake 2.8 the following lines were removed from the
>  FIND_LIBRARY(PYTHON_LIBRARY ...) command in FindPythonLibs.cmake:
>
> -    PATH_SUFFIXES
> -      python${_CURRENT_VERSION}/config
>
> I don’t understand why this was done, because this is where python
>  libraries are found with the default settings. How do I make cmake find
>  the python library now?
>
What Linux distribution is this on? I tested these changes on quite a few
different distributions and the shared object in
python${_CURRENT_VERSION}/config was a symlink to python${_CURRENT_VERSION}.so
in the /usr/lib directory. Does your installation not have
/usr/lib[64]/libpython2.5.so?

Quite a few Linux distributions do not have the symlink in
python${_CURRENT_VERSION}/config, whereas all the ones I came across had it in
/usr/lib. So this would lead to link errors as only the static lib would be
found, and that cannot be used on x86_64 for example.

If you could provide more details then I will look into this further (I
committed the change in response to a bug report, and numerous reports I had
from users who had trouble linking to Python on 64 bit platforms).

Marcus
--
Marcus D. Hanwell, Ph.D.
R&D Engineer, Kitware Inc.
(518) 881-4937
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake
Reply | Threaded
Open this post in threaded view
|

Re: CMake 2.8 FindPythonLibs.cmake broken for default python2.5 install

Marcus D. Hanwell-2
On Monday 23 November 2009 10:38:27 Marcus D. Hanwell wrote:

> On Monday 23 November 2009 10:03:35 Mark Moll wrote:
> > Between cmake 2.6.4 and cmake 2.8 the following lines were removed from
> > the FIND_LIBRARY(PYTHON_LIBRARY ...) command in FindPythonLibs.cmake:
> >
> > -    PATH_SUFFIXES
> > -      python${_CURRENT_VERSION}/config
> >
> > I don’t understand why this was done, because this is where python
> >  libraries are found with the default settings. How do I make cmake find
> >  the python library now?
>
> What Linux distribution is this on? I tested these changes on quite a few
> different distributions and the shared object in
> python${_CURRENT_VERSION}/config was a symlink to
>  python${_CURRENT_VERSION}.so in the /usr/lib directory. Does your
>  installation not have
> /usr/lib[64]/libpython2.5.so?
>
> Quite a few Linux distributions do not have the symlink in
> python${_CURRENT_VERSION}/config, whereas all the ones I came across had it
>  in /usr/lib. So this would lead to link errors as only the static lib
>  would be found, and that cannot be used on x86_64 for example.
>
> If you could provide more details then I will look into this further (I
> committed the change in response to a bug report, and numerous reports I
>  had from users who had trouble linking to Python on 64 bit platforms).
>
For the benefit of the list, as it seems the CC was lost  in Mark's reply, we
discussed the issue and the problem was in linking to the static Python
library. I emailed Mark a patched version of the FindPythonLibs.cmake module
that solved his issue.

I will check in my changes this week once I have done a few more tests, they
will make it in for CMake 2.8.1. Anyone suffering from this issue can override
the module locally too.

Marcus
--
Marcus D. Hanwell, Ph.D.
R&D Engineer, Kitware Inc.
(518) 881-4937
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake