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

William Kyngesburye woklist at kyngchaos.com
Sat Apr 26 18:12:03 EDT 2008


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?

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




More information about the Qgis-developer mailing list