[cmake-developers] [PATCH] FindPythonLibs patches for version searching and frameworks

David Gobbi david.gobbi at gmail.com
Thu Sep 17 11:46:22 EDT 2015


On Thu, Sep 17, 2015 at 9:08 AM, Clinton Stimpson <clinton at elemtech.com>
wrote:

>
> Hi,
>
> I did a quick test to see if my issue has been resolved.
>
> I have a CMakeLists.txt file with just:
> FIND_PACKAGE(PythonInterp REQUIRED)
> FIND_PACKAGE(PythonLibs ${PYTHON_VERSION_STRING} REQUIRED)
>
>
> And I get this error:
>   Could NOT find PythonLibs: Found unsuitable version "2.7.2", but required
>   is at least "2.7.5" (found /usr/lib/libpython2.7.dylib)
>
>
> The problem I have is that I get a python executable and python library
> from a
> system location, and headers from the SDK, which aren't the exact same
> version.
>
> //Path to a program.
> PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python
>
> //Path to a file.
>
> PYTHON_INCLUDE_DIR:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Python.framework/Headers
>
> //Path to a library.
> PYTHON_LIBRARY:FILEPATH=/usr/lib/libpython2.7.dylib
>
>
> Is that related to issues you are addressing here?
>

No, the prefix check was meant to fix things for people who use homebrew
or other third-party package managers that have their own prefix.  It wasn't
meant to address the SDK.

However, there should be a simple fix for your problem.   Just do the
following, to allow PythonLibs to apply its own logic for matching just the
major and minor version numbers (e.g. 2.7 instead of 2.7.5):

FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs REQUIRED)

 - David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20150917/e0650362/attachment-0001.html>


More information about the cmake-developers mailing list