[CMake] cmake on Snow Leopard

Michael Jackson mike.jackson at bluequartz.net
Tue Sep 1 09:16:09 EDT 2009


_CMake_ isn't the one building the 32 bit binaries, 10.6 is building  
them by default. You either have to rebuild all your support libraries  
as 64 bit or Universal binaries, or figure out how to get your project  
to build for 32 bit by supplying the CMAKE_OSX_ARCHITECTURES=i386.

  You might want to try starting from an empty build directory then  
invoking cmake like the following:

cmake -DCMAKE_OSX_ARCHITECTURES=i386 ../

Failing that, you can try this:

export CXXFLAGS="-arch i386"
export CFLAGS="-arch i386"

the invoking CMake on an empty build directory again.

Just some thoughts. I don't have 10.6 yet so I am left guessing at  
this point..

_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net


On Aug 31, 2009, at 7:45 PM, Celil Rufat wrote:

> I am experiencing still another problem. I can no longer link to any  
> of the older libraries. The compilation fails with the following  
> error message:
>
> ld: warning: in /Library/Frameworks//Python.framework/Python,  
> missing required architecture x86_64 in file
> Undefined symbols:
>   "_PyErr_Occurred", referenced from:
>       _SWIG_Python_AddErrorMsg in TMPathPYTHON_wrap.c.o
> ...
>
> From the above it would appear that cmake is building x86_64 files  
> and trying to link them my old i386 libraries, however  the variable  
> CMAKE_OSX_ARCHITECTURES is still equal to i386.
>
> What else could be causing the linker to fail in this way?
>
> Celil
>
>
> On Mon, Aug 31, 2009 at 11:49 AM, Celil Rufat  
> <celil.rufat at gmail.com> wrote:
> Simply reinstalling XCode for 10.6 fixed the problem.
>
> Thanks for the help.
> Celil
>
>
> On Sun, Aug 30, 2009 at 10:49 PM, Michael Jackson <mike.jackson at bluequartz.net 
> > wrote:
> MAKE_OSX_SYSROOT /Developer/SDKs/android-sdk-mac_x86-1.5_r2
>
> Yep, there is the problem. CMake looks in the /Developer/SDKs for  
> all available SDKs and then greps for some information to try and  
> figure out which one to use. Get rid of anything OTHER than official  
> Apple SDKs that are in /Developer/SDKs/*, just consider that  
> directory off limits to anything other than Apple stuff and you  
> should be OK.
>
> Mike
>
>
>
> On Aug 30, 2009, at 11:26 PM, Celil Rufat wrote:
>
>
> this person also has the problem <http://stackoverflow.com/questions/1349886/cmake-settings-on-snow-leopard 
> >
>
> Yup, that was also me :-)
>
>  Please post the following variables from your project after a first  
> run of cmake on your project from a clean build directory.
>
>  CMAKE_OSX_ARCHITECTURES
>  CMAKE_OSX_SYSROOT
>
>
> CMAKE_OSX_ARCHITECTURES  i386
> CMAKE_OSX_SYSROOT /Developer/SDKs/android-sdk-mac_x86-1.5_r2
>
> Hmm, the last variable is strange. I don't know why it is detecting  
> my android installation as the system root. I will try to delete it,  
> and test again.
>
> Celil



More information about the CMake mailing list