Skip to content
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

libqtgeoservices_maplibregl.so (for Qt 5.15) not usable on Debian 12 #35

Closed
petricf opened this issue Sep 8, 2023 · 4 comments
Closed

Comments

@petricf
Copy link

petricf commented Sep 8, 2023

Describe the bug
maplibregl shared lib for qt 5.15 ist linked against libicu v56. Debian 12 (Bookworm) delivers libicu v72

To Reproduce
Steps to reproduce the behavior:

  1. Copy onto qt tree
  2. Exec tool using this plugin
  3. set "QT_DEBUG_PLUGIN=1" (to see the details)
  4. Does not load qml. Plugin tells libicu56 is missing

Expected behavior
Tool should run

Screenshots
ldd output:

    linux-vdso.so.1 (0x00007ffdcc684000)
    libQt5Location.so.5 => /lib/x86_64-linux-gnu/libQt5Location.so.5 (0x00007fea36200000)
    libQt5PositioningQuick.so.5 => /lib/x86_64-linux-gnu/libQt5PositioningQuick.so.5 (0x00007fea37065000)
    libQt5Quick.so.5 => /lib/x86_64-linux-gnu/libQt5Quick.so.5 (0x00007fea35c00000)
    libQt5Gui.so.5 => /lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fea35400000)
    libQt5QmlModels.so.5 => /lib/x86_64-linux-gnu/libQt5QmlModels.so.5 (0x00007fea36fdc000)
    libQt5Qml.so.5 => /lib/x86_64-linux-gnu/libQt5Qml.so.5 (0x00007fea34e00000)
    libQt5Network.so.5 => /lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007fea34c56000)
    libQt5Positioning.so.5 => /lib/x86_64-linux-gnu/libQt5Positioning.so.5 (0x00007fea36f4c000)
    libQt5Sql.so.5 => /lib/x86_64-linux-gnu/libQt5Sql.so.5 (0x00007fea36f0a000)
    libQt5Core.so.5 => /lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fea34600000)
    libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007fea36579000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fea36f03000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fea36ee4000)
    libicui18n.so.56 => not found
    libicuuc.so.56 => not found
    libicudata.so.56 => not found
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fea36edf000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fea34200000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fea3649a000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fea3647a000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fea3441f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fea370a3000)
    libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007fea361ca000)
    libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fea35afc000)
    libmd4c.so.0 => /lib/x86_64-linux-gnu/libmd4c.so.0 (0x00007fea36468000)
    libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fea36178000)
    libdouble-conversion.so.3 => /lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x00007fea36163000)
    libicui18n.so.72 => /lib/x86_64-linux-gnu/libicui18n.so.72 (0x00007fea33e00000)
    libicuuc.so.72 => /lib/x86_64-linux-gnu/libicuuc.so.72 (0x00007fea33c02000)
    libpcre2-16.so.0 => /lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x00007fea35372000)
    libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fea352b6000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fea33aca000)
    libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fea34b9d000)
    libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fea35282000)
    libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fea34135000)
    libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fea35ad0000)
    libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fea339f0000)
    libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fea34b70000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fea3645e000)
    libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fea34b62000)
    libicudata.so.72 => /lib/x86_64-linux-gnu/libicudata.so.72 (0x00007fea31c00000)
    libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fea31b66000)
    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007fea31a24000)
    libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fea34b55000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fea3412e000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fea339df000)
    libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fea319fa000)
    libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fea319d7000)
    libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007fea3527d000)
    libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fea31600000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fea319c1000)
    libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007fea339d2000)

Platform information (please complete the following information):

  • OS: Debian 12
  • Qt version 5.15.8 (distributed with debian 12
  • Version 2.1.0

Additional context
Output of "apt search libicu":

libicu72/stable,now 72.1-3 amd64  [Installiert,automatisch]
  Internationale Bestandteile für Unicode
@petricf petricf changed the title libqtgeoservices_maplibregl.so linked against libicu libqtgeoservices_maplibregl.so (for Qt 5.15) not usable on Debian 12 Sep 8, 2023
@petricf
Copy link
Author

petricf commented Sep 8, 2023

Additional info:

Debian 11 uses libicu 67
Debian 10 uses libicu 63

Maybe linking to libicu without version helps ?

Or get bug #33 fixed so that i can compile it myself.

@kebekus
Copy link

kebekus commented Sep 10, 2023

@petricf I experienced similar problems. My solution is to use the ICU library that is delivered with maplibregl. This is done using the cmake switch MBGL_QT_WITH_INTERNAL_ICU:BOOL=On

My bash-script for compilation is as follows:

# exit when any command fails
set -e

for VARIABLE in android_armv7 android_arm64_v8a android_x86 android_x86_64 gcc_64
do
    rm -rf build-$VARIABLE
    mkdir build-$VARIABLE
    cd build-$VARIABLE
    chmod a+x $Qt6_DIR_BASE/$VARIABLE/bin/qt-configure-module
    chmod a+x $Qt6_DIR_BASE/$VARIABLE/bin/qt-cmake-private
    $Qt6_DIR_BASE/$VARIABLE/bin/qt-configure-module ..
    cmake -DMBGL_QT_WITH_INTERNAL_ICU:BOOL=On .
    ninja
    ninja install
    cd ..    
done

@petricf
Copy link
Author

petricf commented Sep 10, 2023

I will try it. My goal is to make *.deb of my applications at the end. This using the debian provided (dev-)packages of Qt and debmaker-tools.

@ntadej
Copy link
Collaborator

ntadej commented Oct 30, 2023

ICU handling has been improved with #56, so closing this specific ticket.

@ntadej ntadej closed this as completed Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants