Opened 2 years ago

Last modified 2 years ago

#64089 new request

qt6 @6.2.1 (aqua) : rpath issue on Qt libraries?

Reported by: sa35 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: jhoyt4
Port:

Description

Hi,

so far I have used the qt5 port for my qt applications and it just works fine. I wanted now to test the qt6 version but was running into the issue that at execution my application complained that the need libraries are not found (e.g. QtNetwork). Hence I compared the difference betweem qt5/qt6

$ otool -D QtNetwork 
QtNetwork:
/opt/local/libexec/qt5/lib/QtNetwork.framework/Versions/5/QtNetwork

$otool -D QtNetwork                               
QtNetwork:
@rpath/QtNetwork.framework/Versions/A/QtNetwork

I.e. qt5 has absolut path, whereas qt6 uses rpath.

Question: Is this a feature or a bug?

Change History (2)

comment:1 Changed 2 years ago by jhoyt4

When I was testing out the Portfile before submittal I came across this same behavior with my test application.

I was able to fix the test application to point to absolute or executable path with install_name_tool

install_name_tool $binFile -change $dep @executable_path/../Frameworks/$lib

In the port's configure process, I did try changing some of the configure flags around to see if I could get the behavior to change to executable paths to no avail (line 775 of the portfile has -no-rpath set).

At this point, I am not sure if this intentional on qt6's part or me missing something in the configure process.

I'm a novice in the cmake / build process - so someone else may be able to figure out a way to set everything to use absolute paths or find a configure flag that I missed.

I suspect solving this may also help get some of the other qt6-XXX modules building that I didn't include in the first submission.

comment:2 Changed 2 years ago by jhoyt4

Cc: jhoyt4 added
Note: See TracTickets for help on using tickets.