Am 10.05.2015 um 17:42 schrieb Sebastian Siebert:
Am 10.05.2015 um 10:38 schrieb Olaf Radicke:
Bernhard Schmidt
hat am 9. Mai 2015 um 12:24 geschrieben: Am 09.05.2015 um 07:51 schrieb Olaf Radicke: Sebastian Siebert
hat am 7. Mai 2015 um 22:59 geschrieben: Am 07.05.2015 um 13:18 schrieb Bernhard Schmidt: Hallo zusammen, ich musste meinen Rechner komplett neu aufsetzen und nun fehlen mir einige Programme, die ich nur als Quelle bekomme. Nachdem ich QT5.4 neu installiert habe und das neu zu installierende Programm geladen habe erhalte ich beim Compilieren 522 Fehlermeldungen die alle so oder ähnlich aussehen.
:-1: Warnung: libz.so.1, needed by /usr/lib64/libQtSvg.so, not found (try using -rpath or -rpath-link)
/usr/lib64/libQtGui.so:-1: Fehler: undefined reference to `XFilterEvent' Ruf mal den auf
ldconfig -p | grep libQtGui
Hallo Olaf Hab ich gemacht, die Antwort war: libQtGui.so.4 (libc6,x86-64)==> /usr/lib64/libQtGui.so.4 libQtGui.so (libc6,x86-64)==> /usr/lib64/libQtGui.so
Gut, dann gehe ich davon aus, das es Objekt-Fils gibt, die nicht binär kompatibel sind.
Du kannst auch noch mal prüfen:
ldconfig -p | grep libQtSvg
Also ich würde mal vermuten, du wirst alles was neu Übersetzen müssen, was auf die Libs zugreifen will.
Die Header-Dateien (unter include) müssen die selben sein, mit denen die Objectfiles erstellt wurden. Die Qt-Apps müssen mit diesen Header-Datein neu übersetzt werden, mit sie binär kompatibel sind.
Bevor du damit anfängst, würde ich aber noch mal genau über dein Konzept nachdenken, wie du Software auf dein Rechner bringen willst. Denn ein komplettest Qt/KDE zu übersetzen dürfte Tage dauern.
Bernhard, wenn man bei meinen ersten Post die Frage beantwortet hätte, wäre man da nicht schon an der Lösung näher dran? -_-
Die o.g. Ausgabe deckt doch schon bereits meine Vermutung in meiner voran gegangenen Frage auf, dass eine bereits übersetzte Komponente auf Basis von QT 5.4 auf QT 4.8 Libraries zugreift und so die Inkompatibilität auf dem neuen System an der gleichen Stelle auslöst. Nichts anderes sagt der Compiler bzw. eher der Linker. Da wurde offensichtlich auf dem alten System die QT 4.x Libraries mit QT 5.4 Libraries ersetzt, was ich für sehr gefährlich halte wie du es bereits schon erfahren hast.
Wenn da tatsächlich QT 5.4 auf openSUSE 13.2 installiert wäre, dann würden im besten Fall andere Namen der Libraries angesprochen. Vorausgesetzt man hat die QT Libraries aus dem OBS Repo installiert. [1] Dann gebe es solche Kollisionen gar nicht.
Daher war auch meine erste Frage ziemlich berechtigt gewesen, woher du die QT 5.4 Libraries hast? Das gesamte QT habe ich von QT Company, part of Dexia PLC
Beispielausgabe mit QT 5.4 Framework via ldd: # ldd qt5-app ... libqca-qt5.so.2 => /usr/lib64/libqca-qt5.so.2 (0x00007fea27018000) libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5 (0x00007fea267a0000) libQt5Gui.so.5 => /usr/lib64/libQt5Gui.so.5 (0x00007fea26080000) libQt5Sql.so.5 => /usr/lib64/libQt5Sql.so.5 (0x00007fea25e38000) libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007fea25770000) ...
[1] http://download.opensuse.org/repositories/KDE:/Qt54/openSUSE_13.2/
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org