> On Sep 29, 2015, at 10:16, Jake Petroules <[email protected]> 
> wrote:
> 
> 
>> On Sep 28, 2015, at 2:30 PM, Massimo Callegari <[email protected]> 
>> wrote:
>> 
>> On Monday 28 September 2015 19:09:11 Massimo Callegari wrote:
>>>> But please guys, when introducing such an important change, you are 
>>>> warmthly
>>>> invited to mention it in a visible place.
>> 
>>> It's in the changelog.
>> 
>>> But I confess the line you're referring to does not indicate that anything 
>>> should break. Qt being build with rpath should enable more, but not remove 
>>> functionality that existed.
>> 
>>> Can you explain what broke for you?
> 
> From what I can see, nothing is "broken" for him in the sense he is not 
> limited from doing anything he was previously able to do.
> 
>> 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)
> 
> Do not do that. You *want* the @rpath version; using anything but rpath-based 
> install names on Apple platforms is an obscure edge case. If you think you 
> need that, you almost certainly don't.
> 
> We need to start code-signing our official releases to stop people from doing 
> this. :)
> 
>> 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,@executable_path/../Frameworks
>> 
>> I might got it wrong, but at least this is what I got and how I made it work 
>> back again.
>> If there is a proper and official way to deploy any Qt5 version in a unique 
>> way, please point me to the right documentation.
> 
> That is the right way and always has been. Ideally you should use:
> 
>       QMAKE_RPATHDIR = @executable_path/../Frameworks
> 
> instead of specifying the linker flag manually, but the idea is the same.
> 
> These are basic aspects of OS X development which Qt doesn't add anything 
> special to, and so the deployment process for Qt 5 frameworks is identical to 
> the deployment process for "any other OS X framework".
> 
> Basically, make sure your app has @executable_path/../Frameworks in its rpath 
> list, and don't touch the Qt frameworks or the install names that get linked 
> into your binary. If you are ever using install_name_tool to post-process 
> your binary, you are probably doing something wrong, or your dependencies are 
> doing something wrong (for example, Qt < 5.5).
> 
> I agree we should update the "OS X Deployment" documentation (and possibly 
> link to Apple documentation on dyld and rpaths, and how they work).
> 
>> Obviously I am talking about deploying a Qt application and the Qt 
>> Frameworks into a DMG package, to be run on a machine that doesn't have Qt 
>> installed.
>> 
>> I am using OSX 10.10.5 and XCode 7, if this can add any value.
>> _______________________________________________
>> Development mailing list
>> [email protected]
>> http://lists.qt-project.org/mailman/listinfo/development
> 
> In closing, always use @rpath-based install names, and never use 
> install_name_tool.

Actually you should use install_name_tool to remove the absolute rpath to the 
Qt libs on the build machine from your application binaries.

> -- 
> Jake Petroules - jake.petroules at petroules.com
> 
> _______________________________________________
> Development mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/development

-- 
Eike Ziller, Senior Software Engineer | The Qt Company
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 
144331 B

_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to