[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