[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