[Digikam-devel] [digikam] [Bug 365331] New: digikam not loading because rpath information missing from libQt5Qml, libQt5Script and libQt5Quick
RJVB via KDE Bugzilla
bugzilla_noreply at kde.org
Sun Jul 10 20:15:43 BST 2016
https://bugs.kde.org/show_bug.cgi?id=365331
Bug ID: 365331
Summary: digikam not loading because rpath information missing
from libQt5Qml, libQt5Script and libQt5Quick
Product: digikam
Version: 5.0.0
Platform: Compiled Sources
OS: Linux
Status: UNCONFIRMED
Severity: grave
Priority: NOR
Component: general
Assignee: digikam-devel at kde.org
Reporter: rjvbertin at gmail.com
I install Qt5, KF5 Frameworks, libraries and applications into /opt/local under
Linux, with /opt/local/lib and equivalent not declared to the dynamic loader
via ldconfig. I thus need to rely on exhaustive rpath information or else the
correct shared libraries are not found.
I have a build script which takes care of setting all the appropriate CMake
commandline argument required for this kind of build, which works fine for
almost all KF5 software.
Not so with digikam5. Most Qt5 libraries are found without issue, except for 3
libraries:
```
ldd /opt/local/bin/digikam | fgrep libQt
libQt5Sql.so.5 => /opt/local/libexec/qt5/lib/libQt5Sql.so.5
(0x00007fbb14d46000)
libQt5Widgets.so.5 => /opt/local/libexec/qt5/lib/libQt5Widgets.so.5
(0x00007fbb1399d000)
libQt5Gui.so.5 => /opt/local/libexec/qt5/lib/libQt5Gui.so.5
(0x00007fbb131ba000)
libQt5Core.so.5 => /opt/local/libexec/qt5/lib/libQt5Core.so.5
(0x00007fbb12ade000)
libQt5WebKitWidgets.so.5 =>
/opt/local/libexec/qt5/lib/libQt5WebKitWidgets.so.5 (0x00007fbb11f46000)
libQt5Xml.so.5 => /opt/local/libexec/qt5/lib/libQt5Xml.so.5
(0x00007fbb0f832000)
libQt5DBus.so.5 => /opt/local/libexec/qt5/lib/libQt5DBus.so.5
(0x00007fbb0f27b000)
libQt5PrintSupport.so.5 =>
/opt/local/libexec/qt5/lib/libQt5PrintSupport.so.5 (0x00007fbb0beb5000)
libQt5X11Extras.so.5 => /opt/local/libexec/qt5/lib/libQt5X11Extras.so.5
(0x00007fbb0bcb0000)
libQt5Network.so.5 => /opt/local/libexec/qt5/lib/libQt5Network.so.5
(0x00007fbb0b93c000)
libQt5Concurrent.so.5 =>
/opt/local/libexec/qt5/lib/libQt5Concurrent.so.5 (0x00007fbb0b4e9000)
libQt5OpenGL.so.5 => /opt/local/libexec/qt5/lib/libQt5OpenGL.so.5
(0x00007fbb0b28f000)
libQt5WebKit.so.5 => /opt/local/libexec/qt5/lib/libQt5WebKit.so.5
(0x00007fbb07303000)
libQt5Sensors.so.5 => /opt/local/libexec/qt5/lib/libQt5Sensors.so.5
(0x00007fbb070c5000)
libQt5MultimediaWidgets.so.5 =>
/opt/local/libexec/qt5/lib/libQt5MultimediaWidgets.so.5 (0x00007fbb06ea7000)
libQt5Multimedia.so.5 =>
/opt/local/libexec/qt5/lib/libQt5Multimedia.so.5 (0x00007fbb06b93000)
libQt5Svg.so.5 => /opt/local/libexec/qt5/lib/libQt5Svg.so.5
(0x00007fbb049e7000)
libQt5Script.so.5 => not found
libQt5Quick.so.5 => not found
libQt5Qml.so.5 => not found
libQt5Positioning.so.5 =>
/opt/local/libexec/qt5/lib/libQt5Positioning.so.5 (0x00007fbafe3d5000)
libQt5Quick.so.5 => /opt/local/libexec/qt5/lib/libQt5Quick.so.5
(0x00007fbafddde000)
libQt5Qml.so.5 => /opt/local/libexec/qt5/lib/libQt5Qml.so.5
(0x00007fbafd7ea000)
libQt5WebChannel.so.5 =>
/opt/local/libexec/qt5/lib/libQt5WebChannel.so.5 (0x00007fbafd5cc000)
```
I have a hunch that this may be because these Qt components are not declared
and linked as direct dependencies but even if that's the case no other
application has yet shown this behaviour where only a few libraries are linked
without rpath information. For example, KDevelop also links to the same 3
libraries, and also through indirect dependencies (= neither of the 3 is linked
explicitly with the executable). Its toplevel CMake file does "Quick" and
"Script" in the Qt find_package statement though.
I'm invoking cmake like this:
```
cmake -DCMAKE_INSTALL_PREFIX=/opt/local -DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
-DCMAKE_INSTALL_NAME_DIR=/opt/local/lib
-DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr"
-DCMAKE_MODULE_PATH=/opt/local/share/cmake/Modules -DCMAKE_FIND_FRAMEWORK=LAST
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -Wno-dev
-DECM_MKSPECS_INSTALL_DIR=/opt/local/share/qt5/mkspecs
-DPLUGIN_INSTALL_DIR=/opt/local/share/qt5/plugins
-DKDE_INSTALL_QTPLUGINDIR=/opt/local/share/qt5/plugins
-DQML_INSTALL_DIR=/opt/local/share/qt5/qml -DBUILD_doc=OFF -DBUILD_docs=OFF
-DBUILD_SHARED_LIBS=ON -DCMAKE_STRIP:FILEPATH=/bin/echo
-DCMAKE_PREFIX_PATH=/opt/local
-DCMAKE_INSTALL_RPATH="/opt/local/lib/x86_64-linux-gnu;/opt/local/lib"
-DSYSCONF_INSTALL_DIR=\"/opt/local/etc\"
-DPYTHON_EXECUTABLE=/opt/local/bin/python2.7 -DENABLE_KFILEMETADATASUPPORT=ON
-DENABLE_OPENCV3=ON -DBUILD_TESTING=OFF -DDIGIKAMSC_COMPILE_DOC=off
-DENABLE_INTERNALMYSQL=on -DENABLE_MYSQLSUPPORT=on
```
Reproducible: Always
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Digikam-devel
mailing list