-
Notifications
You must be signed in to change notification settings - Fork 401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linuxdeployqt overrides RPATH while running on Linux #556
Comments
Rewriting the rpath is not optional, it is key to how linuxdeployqt works.
If the above still does not help: Can you post a link to your build script which is calling |
Thank you for your reply.
Unfortunately, I can't send you the build script due to privacy, but I will try to describe some output information:
So, the problem is only related to linking. |
Thing is, linuxdeployqt has no way of knowing about the existence of libraries that are loaded via Also, where are you |
All someChildPrivateLib dependencies exist in AppImage. Using the command "linuxdeployqt -executable" is unnecessary because all dependencies are fully collected in AppImage (I already checked it). And please can you tell me how linuxdeployqt overwrites the RPATH (which path is set)? Because I can't find information about it anywhere. |
You can use I think that in its present form linuxdeployqt is unable to do what you need; so you need to do some manual fixes before/after AppDir creation. Such as setting rpaths manually. |
Thanks for advice. And I have one more question. I tried the |
Looks like we hardcoded linuxdeployqt/tools/linuxdeployqt/shared.cpp Lines 1173 to 1176 in d6ac06c
|
Hi,
We use linuxdeployqt to automatically deploy our Qt project in Ubuntu 20.04.
Here is an example of qmake config:
deploy.commands = $$PWD/../installer/linuxdeployqt-continuous-x86_64.AppImage \"PROD_NAME\"
deploy.commands += -qmldir=$$QML_DIR
deploy.commands += -qmake=$$QMAKE_QMAKE
deploy.commands += -always-overwrite
...
deploy.commands += -appimage
I have shared libraries (.so) of Boost, "some private lib", which are dynamically loaded by another dynamic library.
It seems to me that after running linuxdeployqt, the RPATH is overwritten and as a result:
When linuxdeployqt calling is commented out in qmake, the libraries are successfully found when I run the program from Qt Creator.
Can you tell me please, is there any way to avoid overwriting the RPATH variable? I used the "QMAKE_LFLAGS += "-Wl,-rpath,'$$ORIGIN/libs'"" flag, but it is also overwritten after running linuxdeployqt. Is there any way to handle this in qmake or it is a linuxdeployqt bug?
Let me know if you need more information.
The text was updated successfully, but these errors were encountered: