[Qgis-developer] Building universal binary on Leopard for Tiger

Gary Sherman sherman at mrcc.com
Sat Apr 26 18:40:19 EDT 2008


On Apr 26, 2008, at 2:12 PM, William Kyngesburye wrote:
> I've found that the -mmacosx-version-min can miss in configuration  
> (at least in libtool-based configures), so I always set  
> MACOSX_DEPLOYMENT_TARGET to make sure.
>
> How did you specify the SDK option?
>
It detected it automatically -- in ccmake it is displayed as / 
Developer/SDKs/MacOSX10.4u.sdk under CMAKE_OSX_SYSROOT.

If I don't specify -mmacosx-version-min=10.4, it tries to link with  
the 10.5 sdk when linking libqgis_core.

Using your method of specifying MACOSX_DEPLOYMENT_TARGET=10.4 didn't  
seem to help, although the build does seem to get farther before the  
IOKit related errors:

Scanning dependencies of target qgis
[ 46%] Building CXX object src/app/CMakeFiles/qgis.dir/main.o
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:85: error: ‘io_user_reference_t’ was not  
declared in this scope
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:87: error: ‘io_user_reference_t’ does not name  
a type
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:92: error: ‘OSAsyncReference64’ does not name  
a type
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:103: error: ‘io_user_reference_t’ does not  
name a type
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:85: error: ‘io_user_reference_t’ was not  
declared in this scope
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:87: error: ‘io_user_reference_t’ does not name  
a type
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:92: error: ‘OSAsyncReference64’ does not name  
a type
/System/Library/Frameworks/IOKit.framework/Headers/ 
OSMessageNotification.h:103: error: ‘io_user_reference_t’ does not  
name a type
lipo: can't figure out the architecture type of: /var/folders/v-/ 
v-30qCWIFX0akWgqelP9lk+++TI/-Tmp-//ccaL5BYd.out

I'm not building with Python if that makes a difference.

-gary

> Big warning when compiling Qgis *for* Tiger *on* Leopard - you need  
> to install the python.org Python framework and compile SIP and PyQt  
> against that.  But installing Python on Leopard will mess up your  
> PATH for using Leopard's Python when you need it.  Make usre to do a  
> custom install and uncheck the "UNIX CLI tools" and "Shell profile  
> updater" packages.  And double-check your .bash_profile after to  
> make sure it didn't add itself to the PATH.  Then you temporarily  
> add the framework to your PATH when needed for SIP, PyQt and Qgis  
> (see below).  Disable the Python framework when done (create a / 
> Library/Frameworks (disabled) folder and move it there).
>
> Here is my configuration I use on Leopard to make my Tiger build  
> (adjust lib deps for your system) -
>
> export MACOSX_DEPLOYMENT_TARGET=10.4
> export PATH="/Library/Frameworks/Python.framework/Versions/2.5/bin: 
> $PATH"
> cmake -D CMAKE_INSTALL_PREFIX=/Applications -D  
> CMAKE_BUILD_TYPE=Release -D CMAKE_OSX_ARCHITECTURES="ppc;i386" -D  
> CMAKE_OSX_SYSROOT="/Developer/SDKs/MacOSX10.4u.sdk" -D  
> SQLITE3_INCLUDE_DIR=/Library/Frameworks/SQLite3.framework/Headers -D  
> SQLITE3_LIBRARY=/Library/Frameworks/SQLite3.framework/unix/lib/ 
> libsqlite3.dylib -D EXPAT_INCLUDE_DIR=/Users/Shared/unix/expat-tig/ 
> include -D EXPAT_LIBRARY=/Users/Shared/unix/expat-tig/lib/libexpat.a  
> -D GSL_CONFIG=/Users/Shared/unix/gsl-tig/bin/gsl-config -D  
> GEOS_INCLUDE_DIR=/Library/Frameworks/geos.framework/unix/include -D  
> GEOS_LIBRARY=/Library/Frameworks/GEOS.framework/unix/lib/ 
> libgeos.dylib -D PROJ_INCLUDE_DIR=/Library/Frameworks/PROJ.framework/ 
> Headers -D PROJ_LIBRARY=/Library/Frameworks/PROJ.framework/unix/lib/ 
> libproj.dylib -D GRASS_INCLUDE_DIR=/Applications/GRASS-6.3.app/ 
> Contents/MacOS/include -D GRASS_PREFIX=/Applications/GRASS-6.3.app/ 
> Contents/MacOS ..
>
> On Apr 26, 2008, at 4:44 PM, Gary Sherman wrote:
>
>> Mac gurus,
>> I'm trying to build a universal binary for QGIS that will run on  
>> both Leopard and Tiger. If I build using the 10.5 SDK it doesn't  
>> run on Tiger. If I attempt to build using the 10.4 SDK, the build  
>> fails with:
>>
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:85: error: ‘io_user_reference_t’ was not  
>> declared in this scope
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:87: error: ‘io_user_reference_t’ does not  
>> name a type
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:92: error: ‘OSAsyncReference64’ does not  
>> name a type
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:103: error: ‘io_user_reference_t’ does not  
>> name a type
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:85: error: ‘io_user_reference_t’ was not  
>> declared in this scope
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:87: error: ‘io_user_reference_t’ does not  
>> name a type
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:92: error: ‘OSAsyncReference64’ does not  
>> name a type
>> /System/Library/Frameworks/IOKit.framework/Headers/ 
>> OSMessageNotification.h:103: error: ‘io_user_reference_t’ does not  
>> name a type
>> lipo: can't figure out the architecture type of: /var/folders/v-/ 
>> v-30qCWIFX0akWgqelP9lk+++TI/-Tmp-//ccKA5jqP.out
>>
>>
>> I've passed -mmacosx-version-min=10.4  as a CXX flag during the  
>> configuration process.
>>
>> Ideas?
>
> -----
> William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
> http://www.kyngchaos.com/
>
> "Those people who most want to rule people are, ipso-facto, those  
> least suited to do it."
>
> - A rule of the universe, from the HitchHiker's Guide to the Galaxy
>

-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Gary Sherman
Chair, QGIS Project Steering Committee
-Micro Resources: http://mrcc.com
   *Geospatial Hosting
   *Web Site Hosting
-Desktop GIS Book:
   *http://desktopgisbook.com
"We work virtually everywhere"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-



More information about the Qgis-developer mailing list