Platform Notes - Mac OS X

Platform Notes - Mac OS X


Mac OS X 10.5 "Leopard"

While we do not know if the current Qt 3 release will work on Leopard, we can say now that it will not be possible to build it as a 64-bit library. Qt 3 will only be available as a 32-bit library.


Mac OS X 10.4 "Tiger"

We do not officially support Qt 3.3.4 on Tiger. Qt 3.3.4 will not compile with gcc 4.

Tiger is officially supported starting with Qt 3.3.5.

Mac OS X 10.3 "Panther"

Panther is officially supported starting with Qt 3.2.3, earlier versions will compile, but will have graphical errors.

Mac OS X 10.2 "Jaguar"

Jaguar is officially supported starting with Qt 3.1.

Mac OS X 10.1 "Puma"

Qt 3.1.2 is the last version that is officially supported on Puma.

Mac OS X on Intel Hardware

There are some endian issues in the pixmap code in Qt 3.3.5 and lower. Please use Qt 3.3.6 or higher.

In Qt 3.3.6 you will need to create separate binaries for the Intel and PowerPC platforms and then use the lipo tool to create universal binaries. This is detailed in this technical note from Apple.

GCC Versions and Different OS X Versions

Be aware that if you build Qt with GCC 4 on Mac OS X 10.4 that you will only be able to deploy to Mac OS X 10.3.9 and up. More information about GCC versions and Qt is included here: http://doc.trolltech.com/4.1/deployment-mac.html#mac-os-x-version-dependencies This information is also relevant for Qt 3.3.x

Build Issues

If Qt does not build upon executing make, and fails with an error message such as:

    /usr/bin/ld: /System/Library/Frameworks/Carbon.framework/Carbon
load command 20 unknown cmd field
/usr/bin/ld: /usr/lib/libSystem.dylib
load command 6 unknown cmd field

This could be an indication you have upgraded your version of Mac OS X (for example 10.0 to 10.1), without upgrading your supplied Developer Tools CD as well.

Please be sure to upgrade both simultaneously, if problems still occur - contact support.

Please note that we experienced some problems with the commercial version of Qt/Mac 3.0.2 on Mac OS X 10.0. These issues were fixed in Qt 3.0.3. Qt on Mac OS X 10.1 does not have the same issues.

Fink

If you have installed the Qt/X11 package from Fink (http://fink.sf.net), it will set the QMAKESPEC environment variable to darwin-g++. This will cause problems when you build the Qt/Mac package. To fix this, simply unset your QMAKESPEC or set it to macx-g++ before you run configure. You need to have a fresh Qt distribution (make confclean).

MySQL and Mac OS X

There seems to be a issue when both -prebind and -multi_module are defined when linking static C libraries into dynamic library. If you get the following error message when linking Qt:

    ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option
/usr/local/mysql/lib/libmysqlclient.a(my_error.o) definition of common _errbuff (size 512)
/usr/bin/libtool: internal link edit command failed
Re-link Qt using -single_module. This is only a problem when building the MySQL driver into Qt. It does not affect plugins or static builds.

Qt and Precompiled Headers

Starting with Qt 3.3.0 it is possible to use precompiled headers and they have been enabled to speed building of Qt. However, it appears that GCC and make have problems using this feature. If you encounter an internal compile error while compiling a file while using a precompiled header, try removing the -include header statement from the compile line and trying again. If this solves the problem, it probably is a good idea to turn off the precompile header.


Copyright 2008, Trolltech ASA