[CMake] OSX deployment target confusion for 2.8.10

Matthew Brett matthew.brett at gmail.com
Mon Nov 5 20:31:48 EST 2012


Hi,

On Mon, Nov 5, 2012 at 12:44 PM, Matthew Brett <matthew.brett at gmail.com> wrote:
> Hi,
>
> On Mon, Nov 5, 2012 at 7:57 AM, Brad King <brad.king at kitware.com> wrote:
>> On 11/04/2012 07:59 PM, Bradley Giesbrecht wrote:
>>> The problem is in commit e7e613e. Patching Darwin.cmake back to revision 43b74793 solves the problem.
>>>
>>> The breakage is here:
>>> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e7e613efbf1da45a2a9e51d11a4022589d79c642
>>
>> Thanks for tracking it down that far.  However, I think it is
>> 43b74793 that actually introduced the problem.  The later
>> commit only changed the appearance of the error message.
>>
>>> On Nov 3, 2012, at 7:06 PM, Matthew Brett wrote:
>>>> export CMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.6.sdk/
>>
>> CMake does not read this variable from the environment.  Try
>>
>>  export SDKROOT=/Developer/SDKs/MacOSX10.6.sdk
>>
>> instead to work around this.
>
> This does get the compilation past that error message, but on to
> another (that I do not get for cmake 2.8.9).  I will try and debug
> further.

Looking further - the MACOSX_DEPLOYMENT_TARGET environment variable is
indeed being set in a call (in pyside-setup) to
``distutils.spawn.spawn``, and setting that variable does indeed
reproduce the "CMAKE_OSX_DEPLOYMENT_TARGET is '10.6' but
CMAKE_OSX_SYSROOT" error when just running cmake on the "shiboken"
repository.

However, I now have another problem with 2.8.10 when running ``make``.

<commands>
mkdir /Users/mb312/tmp/shib-tmp2
cd /Users/mb312/tmp/shib-tmp2
git clone git://git.gitorious.org/pyside/shiboken.git
export MACOSX_DEPLOYMENT_TARGET=10.6
export SDKROOT=/Developer/SDKs/MacOSX10.6.sdk
cmake -G "Unix Makefiles" -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake \
-DBUILD_TESTS=False -DDISABLE_DOCSTRINGS=True -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/Users/mb312/tmp/shib-tmp2/shiboken-build \
/Users/mb312/tmp/shib-tmp2/shiboken \
-DPYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
\
-DPYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
\
-DPYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib
\
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=yes
</commands>

runs the configuration OK, but compiles ending in an error:

[ 94%] Building CXX object
generator/CMakeFiles/shiboken.dir/shiboken/shibokennormalize.cpp.o
[ 96%] Building CXX object generator/CMakeFiles/shiboken.dir/main.cpp.o
Linking CXX executable shiboken
ld: framework not found QtCore
collect2: ld returned 1 exit status
make[2]: *** [generator/shiboken] Error 1
make[1]: *** [generator/CMakeFiles/shiboken.dir/all] Error 2
make: *** [all] Error 2

I get no such error running the same commands with 2.8.9.   The
cmake-generated Makefile between 2.8.9 and 2.8.10 differs only in the
full path to the cmake binary.  Running the ``cmake`` invocation above
in 2.8.9, and then the ``make`` phase with 2.8.10, results in the same
error (QtCore not found).

Is there something else I can do to find out where the problem is?

Thanks a lot,

Matthew


More information about the CMake mailing list