kiwix / kiwix-desktop

Kiwix for Windows and GNU/Linux desktops
https://download.kiwix.org/release/kiwix-desktop/
GNU General Public License v3.0
776 stars 101 forks source link

Unable to load `libkiwix.so.14` #1193

Closed kelson42 closed 2 months ago

kelson42 commented 2 months ago

After updating to libkiwix14, I have now:

$ ./kiwix-desktop
./kiwix-desktop: error while loading shared libraries: libkiwix.so.14: cannot open shared object file: No such file or directory

... and I have no clue why?

mgautierfr commented 2 months ago

How do you build kiwix-desktop and libkiwix ? What is the content of our lib directory ?

Please give more information.

kelson42 commented 2 months ago

Everything based on git main compilation,

$ ls -la /usr/local/lib/x86_64-linux-gnu/libkiwix*
lrwxrwxrwx 1 root root       14 Sep  1 20:47 /usr/local/lib/x86_64-linux-gnu/libkiwix.so -> libkiwix.so.14
lrwxrwxrwx 1 root root       18 Nov 17  2023 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.12 -> libkiwix.so.12.1.0
-rwxr-xr-x 1 root root 14209640 Nov 17  2023 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.12.1.0
lrwxrwxrwx 1 root root       18 Sep  1 14:54 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.13 -> libkiwix.so.13.0.0
-rwxr-xr-x 1 root root 14278784 Sep  1 14:54 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.13.0.0
-rwxr-xr-x 1 root root 17587728 Sep  1 10:11 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.13.1.0
lrwxrwxrwx 1 root root       18 Sep  1 20:47 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.14 -> libkiwix.so.14.0.0
-rwxr-xr-x 1 root root 17587728 Sep  1 20:47 /usr/local/lib/x86_64-linux-gnu/libkiwix.so.14.0.0
mgautierfr commented 2 months ago

What is your current directory when you run ./kiwix-desktop. What is echo $LD_LIBRARY_PATH ? What is ldd kiwix-desktop ?

kelson42 commented 2 months ago
$ readlink -f ./kiwix-desktop
/home/kelson/code/kiwix-desktop/kiwix-desktop
$ echo $LD_LIBRARY_PATH

$ ldd ./kiwix-desktop
    linux-vdso.so.1 (0x00007ffcd0cf2000)
    libkiwix.so.14 => not found
    libzim.so.9 => /usr/local/lib/x86_64-linux-gnu/libzim.so.9 (0x000071b0f1000000)
    libQt5WebEngineWidgets.so.5 => /lib/x86_64-linux-gnu/libQt5WebEngineWidgets.so.5 (0x000071b0f13d4000)
    libQt5WebEngineCore.so.5 => /lib/x86_64-linux-gnu/libQt5WebEngineCore.so.5 (0x000071b0e8e00000)
    libQt5PrintSupport.so.5 => /lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x000071b0f135c000)
    libQt5Widgets.so.5 => /lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x000071b0e8600000)
    libQt5Gui.so.5 => /lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x000071b0e7e00000)
    libQt5Network.so.5 => /lib/x86_64-linux-gnu/libQt5Network.so.5 (0x000071b0e7c54000)
    libQt5Core.so.5 => /lib/x86_64-linux-gnu/libQt5Core.so.5 (0x000071b0e7600000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000071b0e7200000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000071b0f132d000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000071b0e6e00000)
    /lib64/ld-linux-x86-64.so.2 (0x000071b0f15be000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x000071b0f12f9000)
    libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x000071b0e8d46000)
    libxapian.so.30 => /lib/x86_64-linux-gnu/libxapian.so.30 (0x000071b0e6c02000)
    libicui18n.so.74 => /lib/x86_64-linux-gnu/libicui18n.so.74 (0x000071b0e6800000)
    libicuuc.so.74 => /lib/x86_64-linux-gnu/libicuuc.so.74 (0x000071b0e6400000)
    libQt5Quick.so.5 => /lib/x86_64-linux-gnu/libQt5Quick.so.5 (0x000071b0e5e00000)
    libQt5QuickWidgets.so.5 => /lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 (0x000071b0f12e0000)
    libQt5WebChannel.so.5 => /lib/x86_64-linux-gnu/libQt5WebChannel.so.5 (0x000071b0f12ba000)
    libQt5Qml.so.5 => /lib/x86_64-linux-gnu/libQt5Qml.so.5 (0x000071b0e5800000)
    libQt5Positioning.so.5 => /lib/x86_64-linux-gnu/libQt5Positioning.so.5 (0x000071b0e856f000)
    libnss3.so => /lib/x86_64-linux-gnu/libnss3.so (0x000071b0e74d1000)
    libnssutil3.so => /lib/x86_64-linux-gnu/libnssutil3.so (0x000071b0f1286000)
    libnspr4.so => /lib/x86_64-linux-gnu/libnspr4.so (0x000071b0f0fc1000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x000071b0f126a000)
    libevent-2.1.so.7 => /lib/x86_64-linux-gnu/libevent-2.1.so.7 (0x000071b0e8cf4000)
    libjpeg.so.8 => /lib/x86_64-linux-gnu/libjpeg.so.8 (0x000071b0e7bd1000)
    libopus.so.0 => /lib/x86_64-linux-gnu/libopus.so.0 (0x000071b0e8510000)
    libvpx.so.9 => /lib/x86_64-linux-gnu/libvpx.so.9 (0x000071b0e5400000)
    libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x000071b0e70c3000)
    libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x000071b0f1263000)
    libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x000071b0f125e000)
    libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x000071b0f124a000)
    libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x000071b0f0fb7000)
    libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x000071b0f0faa000)
    libXtst.so.6 => /lib/x86_64-linux-gnu/libXtst.so.6 (0x000071b0f0fa2000)
    libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x000071b0e6630000)
    libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x000071b0e7060000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x000071b0e5cb7000)
    libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x000071b0e8cbc000)
    libwebp.so.7 => /lib/x86_64-linux-gnu/libwebp.so.7 (0x000071b0e6b87000)
    libwebpmux.so.3 => /lib/x86_64-linux-gnu/libwebpmux.so.3 (0x000071b0e8502000)
    libwebpdemux.so.2 => /lib/x86_64-linux-gnu/libwebpdemux.so.2 (0x000071b0e84fb000)
    libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x000071b0e5334000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x000071b0e7ba6000)
    libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x000071b0e7480000)
    libharfbuzz-subset.so.0 => /lib/x86_64-linux-gnu/libharfbuzz-subset.so.0 (0x000071b0e522f000)
    libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x000071b0e5122000)
    libre2.so.10 => /lib/x86_64-linux-gnu/libre2.so.10 (0x000071b0e639e000)
    libX11-xcb.so.1 => /lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x000071b0e7ba1000)
    libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x000071b0e7b78000)
    libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x000071b0e57b1000)
    libasound.so.2 => /lib/x86_64-linux-gnu/libasound.so.2 (0x000071b0e5018000)
    libsnappy.so.1 => /lib/x86_64-linux-gnu/libsnappy.so.1 (0x000071b0e7055000)
    libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x000071b0e4e36000)
    libxslt.so.1 => /lib/x86_64-linux-gnu/libxslt.so.1 (0x000071b0e7014000)
    libminizip.so.1 => /lib/x86_64-linux-gnu/libminizip.so.1 (0x000071b0e6b7a000)
    liblcms2.so.2 => /lib/x86_64-linux-gnu/liblcms2.so.2 (0x000071b0e574f000)
    libopenjp2.so.7 => /lib/x86_64-linux-gnu/libopenjp2.so.7 (0x000071b0e4dd5000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000071b0e4cec000)
    libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x000071b0e4c65000)
    libmd4c.so.0 => /lib/x86_64-linux-gnu/libmd4c.so.0 (0x000071b0e6b68000)
    libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x000071b0e4c11000)
    libdouble-conversion.so.3 => /lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x000071b0e6b53000)
    libpcre2-16.so.0 => /lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x000071b0e4b85000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x000071b0e6626000)
    libicudata.so.74 => /lib/x86_64-linux-gnu/libicudata.so.74 (0x000071b0e2e00000)
    libQt5QmlModels.so.5 => /lib/x86_64-linux-gnu/libQt5QmlModels.so.5 (0x000071b0e2d74000)
    libplc4.so => /lib/x86_64-linux-gnu/libplc4.so (0x000071b0e661f000)
    libplds4.so => /lib/x86_64-linux-gnu/libplds4.so (0x000071b0e6b4e000)
    libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x000071b0e6613000)
    libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x000071b0e6397000)
    libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x000071b0e2d27000)
    libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x000071b0e5c8a000)
    libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x000071b0e638b000)
    libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x000071b0e2c8d000)
    libsharpyuv.so.0 => /lib/x86_64-linux-gnu/libsharpyuv.so.0 (0x000071b0e6383000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x000071b0e4b71000)
    libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x000071b0e4b63000)
    libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x000071b0e2c67000)
    libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x000071b0e660d000)
    libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x000071b0e5747000)
    libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x000071b0e2b87000)
    libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x000071b0e2acf000)
    libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x000071b0e2a9c000)
    libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x000071b0e29d3000)
    libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x000071b0e29a7000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x000071b0e29a1000)
    libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x000071b0e2994000)
    libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x000071b0e2959000)
    libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x000071b0e2936000)
    libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x000071b0e2920000)
    libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x000071b0e2913000)
    libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x000071b0e27cb000)
    liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x000071b0e27a9000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x000071b0e27a2000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x000071b0e278f000)
    libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x000071b0e2780000)
    libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x000071b0e275b000)
kelson42 commented 2 months ago

Adding:

$ file /usr/local/lib/x86_64-linux-gnu/libkiwix.so.14.0.0
/usr/local/lib/x86_64-linux-gnu/libkiwix.so.14.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=2fc41e810795e2bf1a190984c71ddda2aaf6fc09, with debug_info, not stripped
kelson42 commented 2 months ago
$ ldconfig -p | grep libkiwix
    libkiwix.so.13 (libc6,x86-64) => /usr/local/lib/x86_64-linux-gnu/libkiwix.so.13
    libkiwix.so.12 (libc6,x86-64) => /usr/local/lib/x86_64-linux-gnu/libkiwix.so.12
    libkiwix.so (libc6,x86-64) => /usr/local/lib/x86_64-linux-gnu/libkiwix.so
kelson42 commented 2 months ago

I had to remove the ldconfig cache and relaunch it to fix the problem:

$rm /etc/ld.so.cache
$ldconfig

No clue why somehow this cache was stuck, even after a reboot!