[Development] Qt 5.5.0 build issues on OS X : rpath
Massimo Callegari
massimocallegari at yahoo.it
Mon Sep 28 23:53:08 CEST 2015
>----- Messaggio originale -----
>Da: Thiago Macieira <thiago.macieira at intel.com>
>A: development at qt-project.org; Jake Petroules <jake.petroules at petroules.com>
>Cc:
>Inviato: Lunedì 28 Settembre 2015 23:40
>Oggetto: Re: [Development] Qt 5.5.0 build issues on OS X : rpath
>>On Monday 28 September 2015 21:30:33 Massimo Callegari wrote:
>> > Can you explain what broke for you?
>>
>> Since Qt 4.8 and up to Qt 5.4.2 I was using the install_name_tool procedure
>> as described here: http://doc.qt.io/qt-5/osx-deployment.html
>> With prebuilt Qt 5.5.x clang64, QtFrameworks don't use absolute paths
>> anymore, but instead they use @rpath, so calling something like this
>>
>> install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore
>> @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore
>> myapp.app/Contents/MacOs/myapp
>> appears not to be working. (and not needed anymore)
>Does the tool report an error now? Is that what broke?
Apparently no error. Right now I'm on Linux, but if you request some more info about this, I can provide it (tomorrow night maybe)
Now I'm going by memory, probably the install_name_tool call was this:
install_name_tool -change /path/to/Qt/lib/QtCore.framework/Versions/5/QtCore
@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore
myapp.app/Contents/MacOs/myapp
Either way, none of my attempts worked, until I completely skipped the -change calls and used the -Wl,-rpath linker flag.
>> If Qt is built with -rpath, then an application is in charge to tell Qt how
>> to resolve @rpath, thus the need of adding QMAKE_LFLAGS +=
>> -Wl,-rpath, at executable_path/../Frameworks
>And if you don't do that do your executable, the loading fails?
Yes. My application says it cannot find the QtCore library, cause it's the first it looks for.
Again, I can copy the exact output when I'm on my Mac.
>What if we add an extra rpath to Qt libs as @executable_path/../Frameworks?
>Would this make loading work?
Dunno if this is for me, but I guess it would help, since OSX bundles have a pre-determined folder structure.
Not sure what will happen on iOS and with Qt plugins though...
>Jake, Morten: as a stop-gap, is there a configure-time switch to revert to the
>old behaviour? This change seems to be too much for a patch release. It should
>be left for 5.6.0 only.
>--
>Thiago Macieira - thiago.macieira (AT) intel.com
> Software Architect - Intel Open Source Technology Center
_______________________________________________
Development mailing list
Development at qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
More information about the Development
mailing list