[Qt-interest] Mac deployment to 10.4
Rush Manbert
rush at manbert.com
Thu Nov 12 00:13:12 CET 2009
Yes, if we didn't want to support 64-bit executables we could do that,
and back when we were doing our evaluation we thought that only having
32-bit executables would be okay. But now we think we need to support
64-bit, and it opens a whole new can of worms.
Thanks for your reply.
- Rush
On Nov 11, 2009, at 1:39 PM, Israel Brewster wrote:
> Well, I haven't built a 64 bit executable, but I have had no
> problems with distributing a single linked 32 bit binary to 10.4,
> 10.5, and 10.6, using just the -static and -universal flags. I don't
> specify -arch at all when building Qt, and it seems to work well.
> The only problems I have run into are when something I am statically
> linking in (like postgresql drivers) doesn't have the proper
> architecture. But that isn't a QT problem :)
>
> On Nov 11, 2009, at 12:06 PM, Rush Manbert wrote:
>
>> On Oct 9, 2009, at 12:29 PM, Dave Thorup wrote:
>> <snip>
>>>
>>> As others have already mentioned you'll need to download the Qt
>>> sources and build the Qt libraries yourself using the 10.4 SDK as
>>> well as targeting 10.4 ( MACOSX_DEPLOYMENT_TARGET=10. ). You'll
>>> also need to be sure that you build Qt as Universal Binaries in
>>> order to target your G4 iBook. We target Mac OS X 10.4 while
>>> developing on 10.5 (and now 10.6), you just need to make sure that
>>> you build your Qt libraries properly and get your project settings
>>> correct as well. Here are my notes on building Qt to target 10.4:
>>>
>>>> Qt needs some special configuration flags to work well with
>>>> Leopard. The MACOSX_DEPLOYMENT_TARGET environment variable must
>>>> be set to 10.4 (or 10.3 for earlier compatibility). Enter the
>>>> following in Terminal before configuring Qt:
>>>> MACOSX_DEPLOYMENT_TARGET=10.4
>>>> export MACOSX_DEPLOYMENT_TARGET
>>>> Configure Qt with the following (note that this doesn't make the
>>>> demos or examples which is much faster):
>>>> ./configure -nomake demos -nomake examples -dwarf2 -sdk /
>>>> Developer/SDKs/MacOSX10.4u.sdk -universal
>>>> This will ensure that source code is visible in Xcode when
>>>> debugging. Add "-universal" to build a Universal Binary version
>>>> of Qt.
>>>> You'll also need to set the following in your Qt pro file for
>>>> your projects:
>>>> QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4
>>>> QMAKE_MAC_SDK=/Developer/SDKs/MacOSX10.4u.sdk
>>>> In order to view the Qt sources in the Xcode Debugger you'll need
>>>> to double-click on the "bibblepro" executable in the Executables
>>>> section of the Xcode project and select "Use <debug> suffix when
>>>> loading frameworks." Where <debug> is selected from a popup menu.
>>>
>>> We use Qt 4.4.3, but it should be the same with Qt 4.5.
>>>
>>
>> This is an old thread by now, but I would like to extend the
>> discussion a little bit.
>>
>> We need to support deployment on OS X 10.4 through 10.6, and on
>> 10.6 we need to support X86_64. We want to statically link our
>> executables, so we want to build Qt to have static libraries. We
>> develop on 10.6 using the Xcode 3.2 toolset.
>>
>> This seems to get us into a problematic area for Qt. The help for
>> configure says in regard to the "-arch " setting:
>> -arch <arch> ....... Build Qt for <arch>
>> Example values for <arch>: x86 ppc x86_64
>> ppc64
>> Multiple -arch arguments can be specified,
>> 64-bit archs
>> will be built with the Cocoa framework.
>>
>> and it says in regard to the "-cocoa" setting:
>> -cocoa ............. Build the Cocoa version of Qt. Note that -
>> no-framework
>> and -static is not supported with -cocoa.
>> Specifying
>> this option creates Qt binaries that
>> requires Mac OS X
>> 10.5 or higher.
>>
>> It would seem that if we specify "-arch X86_64" we implicitly
>> specify "-cocoa" and "-framework" and we limit ourselves to
>> deployment on 10.5 and above.
>>
>> But if we only build the 32 bit architectures, specify "-static",
>> and omit "-cocoa", then we can't build 64 bit libraries.
>>
>> What we would like is this:
>> - static libraries
>> - cocoa or carbon
>> - each library supports ppc, x86, and x86_64 architectures (the
>> 10.6 notion of "universal")
>> - deployable on 10.4, 10.5, and 10.6
>>
>> but that doesn't look like it's possible. In fact, it looks as if I
>> could reduce my requirements to this:
>> - a single linked application
>> - deployable on 10.4, 10.5, and 10.6
>>
>> and still not be able to satisfy them!
>>
>> Has anyone else solved/worked around these issues?
>>
>> - Rush
>>
>> _______________________________________________
>> Qt-interest mailing list
>> Qt-interest at trolltech.com
>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
> -----------------------------------------------
> Israel Brewster
> Computer Support Technician II
> Frontier Flying Service Inc.
> 5245 Airport Industrial Rd
> Fairbanks, AK 99709
> (907) 450-7250 x293
> -----------------------------------------------
>
> <Israel Brewster.vcf>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20091111/78302d6a/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2415 bytes
Desc: not available
Url : http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20091111/78302d6a/attachment.bin
More information about the Qt-interest-old
mailing list