From: Martin C. <cos...@wa...> - 2010-03-16 22:07:57
|
Alan wrote: > Hi there, > > Every time there is a update for qt-mac I go and try to install > qtpfsgui-mac, but for no avail so far. My system is Mac OSX 10.6.2 with > Fink 64 bits. > > The relevant errors I guess are: > > [snip] > g++-4.2 -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 > -mmacosx-version-min=10.5 -arch i386 -o > qtpfsgui.app/Contents/MacOS/qtpfsgui generated_obj/pfs.o [] > generated_obj/moc_batch_dialog.o generated_obj/qrc_icons.o > -F/sw/lib/qt4-mac/lib -L/sw/lib/qt4-mac/lib -lexiv2 -lIlmImf -lImath > -lHalf -lIex -lfftw3f -lm -ltiff -lIlmThread -L/sw/lib -ljpeg -lexpat > -liconv -framework QtGui -framework QtCore > Undefined symbols for architecture x86_64: > "_compress", referenced from: [] > Failed: phase compiling: qtpfsgui-mac-1.9.3-1002 failed I confirm the build failure on 10.6/64bit. The reason is now clear: There were two problems with this linker line: The first one are missing libraries like "-lz". This problem comes from qt4-mac and is fixed in the latest qt4-mac package. Alan still got it because a 3rd-party qmake binary was interfering. The second problem is the extra "-arch i386", which leads to failure on x86_64. It comes from the qtpfsgui-mac package itself: In its project.pro file, it has the edifying lines: # Is this next line strictly necessary? gcc should compile for the correct architecture by default. CONFIG += x86 This line is responsible for the spurious "-arch i386" flag, and it is indeed not necessary. If one comments it out, the package builds on 10.6/64bit. It also still builds on 10.5/32bit/intel. -- Martin |