PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QT messup nach Update (SuSE10.1x64bit)



Gargi
28.12.2007, 13:08
Nachdem vielleicht mittels smart ein Upgrade des KDE erfolgt ist (derzeit 3.5.4), wurde natürlich auch ein Update der Trolltech Bibliothek QT gefahren.
Es kann leider sein, dass dadurch gerade für 64bit Maschinen es zu Schwierigkeiten beim Kompilieren von KDE Anwendungen kommen kann, die eben auf die QT Bibliothek zurück greifen.

Sollte nun beim Vorbereiten eines Compiles beim Absetzen des ./configure es zu einer Fehlermedlung beim Checkup der QT Library kommen ( library missing, qt-mt not found, check your installation ) , so ist folgendes zu überprüfen:

Die gesuchten Bibliotheken liegen unter
/usr/lib/qt3
Hierbei gibt es darunter ein /lib und /lib64 Verzeichnis. Desweiteren findet sich noch ein
/usr/lib64/qt3 Verzeichnis, das aber nur auf /usr/lib/qt3 gelinkt ist. Die Unterscheidung zwischen eines 32 oder 64 bittigen Systems spielt sich somit im Standard /usr/lib Verzeichnis ab.

Nun ist zu kontrollieren, ob folgende beiden Dateien sich unter /usr/lib/qt3/lib64 befinden:

libqt-mt.la
libqt-mt.prl

Falls diese fehlen sollten, dann kopiert diese aus dem Verzeichnis /usr/lib/qt3/lib nach /usr/lib/qt3/lib64.

Jetzt prüft nach, ob sich im Verzeichnis /usr/lib/qt3/lib die Datei

libqt-mt.so

befindet. Fehlt diese, linken wir die einfach aus dem 64bit Verzeichnis um (das ist dann soweit auch egal, da wir eh auf der 64bit Maschine kompilieren werden):

ln -s /usr/lib/qt3/lib64/libqt-mt.so /usr/lib/qt3/lib/libqt-mt.so

Hier ist wiederum im /usr/lib/qt3/lib64 zu überprüfen, ob die Kette der Links auf libqt-mt.so soweit in Ordnung ist. Leider fehlte bei mir eine Verknüpfung, wobei die libqt-mt.so bei mir dann ins Leere zeigte.

Das configure-script sollte dann auf einer 64bit Maschine mit einem Parameter verwendet werden:

./configure --enable-libsuffix=64

Da beim Kompilieren von KDE Anwendungen es aber dennoch gerne zu einem Fehler wegen nicht auffindbaren Bibliotheken gibt, empfiehlt sich folgender Aufruf (bitte alles in eine Zeile):


./configure --prefix=/usr/local --with-qt-dir=/usr/lib64/qt3 --with-qt-includes=/usr/lib64/qt3/include --with-qt-libraries=/usr/lib64/qt3/lib64 --enable-libsuffix=64

Somit sollte der Kompilierungsvorgang wieder sauber durchlaufen.

cu
Gargi

Gargi
28.12.2007, 13:08
Sollte obiger Trick nicht funktionieren, dann bitte alle Änderungen rückgängig machen und im YAST das qt3 und qt3 32bit auf die Ausgangsversion der Installation downgraden. Dann nochmal via smart upgrade auf die aktuelle Version patschen. Das hat bei mir zumindest die korrekten Verlinkungen gesetzt und es lassen sich wieder Programm für den KDE kompilieren.

cu
Gargi