ich nutze ein Debian 9.5 x64 auf einem Desktopcomputer. Ich nutze auch gerne virtualbox. Nun habe ich es geschafft, die Abhaenigkeiten von qt "kaputt zu machen".
Ich wollte eine Software (dolphin emulator) installieren die Qt 5.9 voraussetzt. Installiert ist auf dem Debian die 5.7.1. Aus diesem Grund habe ich die 5.9 (prebuild Version direkt von Qt) systemweit in /opt/Qt/... installiert.
Damit der build von dolphin klappt habe ich fuer cmake den Pfad zum Qt haendisch im qtchooser gestzt.
qtchooser default.conf:
/opt/Qt5.9.0/5.9/gcc_64/bin/
/opt/Qt5.9.0/5.9/gcc_64/lib/
und
PATH=/opt/Qt5.9.0/5.9/gcc_64/bin:$PATH
export PATH
Somit klappte das Bauen und anschließende Installieren.
Nun das Problem:
Ich startete die Applikation und es wurde angezeigt, dass Qt 5.9 vorasugesetzt wird. Anscheinend hat es nicht ausgereicht lediglich auf den Qt5.9 Pfad zu zeigen.
Ich setzte qtchooser wieder auf den alten wert zurück:
qtchooser default.conf:
/usr/lib/x86_64-linux-gnu/qt5/bin
/usr/lib/x86_64-linux-gnu
Jetzt dachte ich, da libQt5Core.so.5.9 benötigt wird und in dem Ordner lediglich
libQt5Core.so (link)
libQt5Core.so.5.7 (link)
libQt5Core.so.5.7.1
liegen, fuege ich noch die libQt5Core.so.5.9 hinzu. Mittels Softlink habe ich Qt anscheinend noch den Rest gegeben.
Das waren die letzten Befehle. Ich wollte, dass die libQt5Core.so auf die libQt5Core.so.5.9 zeigt. (Ich glaube das war ein Fehler)
Code: Alles auswählen
cd /opt/Qt5.9.0/5.9/gcc_64/lib/ # in das neue Qt Verzeichnis waechseln
sudo cp libQt5Core.so.5.9 /usr/lib/x86_64-linux-gnu/
cd /usr/lib/x86_64-linux-gnu/
sudo mv libQt5Core.so libQt5Core.so.orig # das war sinnlos
sudo mv libQt5Core.so.orig libQt5Core.so # ebenfalls
sudo ln -sf libQt5Core.so libQt5Core.so.5.9
sudo cp /opt/Qt5.9.0/5.9/gcc_64/lib/libQt5Core.so.5.9 /usr/lib/x86_64-linux-gnu/
sudo rm libQt5Core.so.5.9
Code: Alles auswählen
ldd libQt5Core.so
linux-vdso.so.1 (0x00007ffdf711d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb77018a000)
libicui18n.so.56 => not found
libicuuc.so.56 => not found
libicudata.so.56 => not found
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb76ff82000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb76fd68000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb76fb64000)
libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/./libgthread-2.0.so.0 (0x00007fb76f962000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fb76f64e000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/./libstdc++.so.6 (0x00007fb76f2cc000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb76efc8000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb76edb1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb76ea12000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb770adf000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fb76e79f000)
So wie es aussieht fehlen nun drei libs der libQt5Core.so.
Das ist der aktuelle Stand im Verzeichnis:
Code: Alles auswählen
ll | grep libQt5Core.so
lrwxrwxrwx 1 root root 19 Jan 11 2017 libQt5Core.so -> libQt5Core.so.5.7.1
lrwxrwxrwx 1 root root 19 Jan 10 2018 libQt5Core.so.5 -> libQt5Core.so.5.7.1
lrwxrwxrwx 1 root root 19 Jan 10 2018 libQt5Core.so.5.7 -> libQt5Core.so.5.7.1
-rw-r--r-- 1 root root 5458240 Nov 4 14:33 libQt5Core.so.5.7.1
ll | grep libicui18n
-rw-r--r-- 1 root root 34880310 Mar 14 2018 libicui18n.a
lrwxrwxrwx 1 root root 18 Mar 14 2018 libicui18n.so -> libicui18n.so.57.1
lrwxrwxrwx 1 root root 18 Mar 14 2018 libicui18n.so.57 -> libicui18n.so.57.1
-rw-r--r-- 1 root root 2591816 Mar 14 2018 libicui18n.so.57.1
ll | grep libicuuc
-rw-r--r-- 1 root root 18430860 Mar 14 2018 libicuuc.a
lrwxrwxrwx 1 root root 16 Mar 14 2018 libicuuc.so -> libicuuc.so.57.1
lrwxrwxrwx 1 root root 16 Mar 14 2018 libicuuc.so.57 -> libicuuc.so.57.1
-rw-r--r-- 1 root root 1727216 Mar 14 2018 libicuuc.so.57.1
ll | grep libicudata
-rw-r--r-- 1 root root 25670180 Mar 14 2018 libicudata.a
lrwxrwxrwx 1 root root 18 Mar 14 2018 libicudata.so -> libicudata.so.57.1
lrwxrwxrwx 1 root root 18 Mar 14 2018 libicudata.so.57 -> libicudata.so.57.1
-rw-r--r-- 1 root root 25675624 Mar 14 2018 libicudata.so.57.1
Waere jemand so gnaedig mir zu sagen, was man an dieser Stelle machen kann? Gibt es jetzt noch eine Moeglichkeit ohne eine komplette Neuinstallation das Problem zu beheben?
Zum beheben, habe ich noch Qt 5.7.1 als prebuild runtergeladen und aus dem lib Verzechnis die benoetigen Libs in /usr/lib/x86_64-linux-gnu/ einefuegt. Nun "verschwand" zwar bei ldd das Problem jedoch hatte ich beim Start nun eine andere Fehlermeldung. So in etwa sah die Fehlermeldung aus:
Code: Alles auswählen
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: xcb.
Reinstalling the application may fix this problem.
Aborted
VG
Hans