probonopd / linuxdeployqt

Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications
Other
2.19k stars 409 forks source link

Not using files found by LDD #409

Open burnhamd opened 4 years ago

burnhamd commented 4 years ago

I'm getting error when running the AppRun for shared libraries for qt libraries including libQt5Bluetooth.so.5

LDD output for executable libQt5Bluetooth.so.5 => /home/myuser/Qt/5.12.5/gcc_64/lib/libQt5Bluetooth.so.5 (0x00007f93d984f000)

The file is found and used to copy the binary which I can confirm in the usr/lib directory relative to the AppDir contains this binary.

But when I run the AppRun executable, it states that it cannot be found.

Using the latest version which is downloaded by a script every time I package.

burnhamd commented 4 years ago

Following up on the next likely question. The output of qmake -v is indeed correct

QMake version 3.1 Using Qt version 5.12.5 in /home/myuser/Qt/5.12.5/gcc_64/lib

probonopd commented 4 years ago

Hello, what happens if you use the Qt from https://github.com/probonopd/linuxdeployqt#using-linuxdeployqt-with-travis-ci?

burnhamd commented 4 years ago

Hello, what happens if you use the Qt from https://github.com/probonopd/linuxdeployqt#using-linuxdeployqt-with-travis-ci?

Unless I am mistaken, you are asking me to install qt 5.10 onto my system? In this case I am on a development system and don't want to modify the base system. Anyway it would not work for my binary as I am relying on some changes that occurred in the 5.12 release within the bluetooth module of QT.

probonopd commented 4 years ago

No, I am suggesting to use Travis CI rather than the local developer machine to do the builds, and to use the version of Qt you need from https://launchpad.net/~beineri. Unfortunately I cannot really test and support all possible build configurations, so the one described at https://github.com/probonopd/linuxdeployqt#using-linuxdeployqt-with-travis-ci is the one I know is working.

burnhamd commented 4 years ago

No, I am suggesting to use Travis CI rather than the local developer machine to do the builds, and to use the version of Qt you need from https://launchpad.net/~beineri. Unfortunately I cannot really test and support all possible build configurations, so the one described at https://github.com/probonopd/linuxdeployqt#using-linuxdeployqt-with-travis-ci is the one I know is working.

Ok. Well unfortunately I cannot use that configuration. The libraries are being found and copied to the AppDir. However the AppRun application is not referencing them. Any idea how this could be occurring?

burnhamd commented 4 years ago

The binary copied over to the AppDir user/bin path also has the correct library path

libQt5Bluetooth.so.5 => /home/myuser/myAppRelease/myApp/build/ApplicationBundle/AppDir/usr/bin/./../lib/libQt5Bluetooth.so.5 (0x00007f84b9054000)

I can confirm that by running the binary from the AppDir/usr/bin directory there is no issue. Only when I launch from AppRun.

probonopd commented 4 years ago

Hard to say without seeing what is going on. Can you send me your AppImage for analysis? You can also mail me a link to probono at puredarwin dot org