openSUSE 12.2: Bibliotheken werden nicht gefunden, obwohl sie da sind

Hi,

ich bin neu hier und nicht ganz sicher, ob meine Frage nicht doch eher in die Rubrik “Installation” gehört - ich versuchs mal hier.

Ich bin gerade von openSuse 11.3 auf 12.2 ( beides 64 bit ) umgestiegen und muss nun meine Programme für die Arbeit neu kompilieren. Dabei tritt immer das gleiche Problem auf: Die Kompilation bricht ab mit der Beschwerde, es würden Bibliotheken nicht gefunden. Ein “locate” bestätigt aber ihre Existenz und ich konnte keinerlei Fehler in den Pfaden (weder im Compiler-Output noch im LD_LIBRARY_PATH finden). Unter openSUSE 11.3 und auf meinem Laptop mit Ubuntu 12.04 liefen die Builds sauber durch und alles funtioniert nach der Installation.

Hier mal ein paar Beispiele:

  1. ROOT Framework (5.34.01)
usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libxcb.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libX11.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libX11.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../usr/lib64/../../x86_64-suse-linux/bin/ld: warning: /gcclibz.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libcrypto.so, not found /(try using -x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libz.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libcrypto.so, not found (try using -rpath or -rpath-link)
  1. Visualization Toolkit (5.10)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libGL.so.1, needed by ../../../../../../bin/libvtkWidgets.so.5.10.0, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXt.so.6, needed by ../../../../../../bin/libvtkRendering.so.5.10.0, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libSM.so.6, needed by ../../../../../../bin/libvtkRendering.so.5.10.0, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libICE.so.6, needed by ../../../../../../bin/libvtkRendering.so.5.10.0, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libX11.so.6, needed by ../../../../../../bin/libvtkRendering.so.5.10.0, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXext.so.6, needed by ../../../../../../bin/libvtkRendering.so.5.10.0, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libpthread.so.0, needed by ../../../../../../bin/libvtkIO.so.5.10.0, not found (try using -rpath or -rpath-link)

Wie schon gesagt, alle gelisteten Bibliotheken sind installiert und die Pfade im LD_LIBRARY_PATH enthalten. Auf openSUSE 11.3 und unter Ubuntu 12.04 kompiliert und läuft alles.

Irgendwelche Ideen, was ich als nächstes versuchen kann?

Danke!

Gregor

Kein besonders detailierter Hinweis von mir aber du kannst ja einfach
mal nachschauen, was die openSUSE Paketierer machen um VTK auf 12.2 zu
kompilieren indem du ins spec file schaust, evtl. gibt dir das den
fehlenden Hinweis den du suchst
http://tinyurl.com/8fefbdp

Für das andere (ROOT Framework) kann ich auf die Schnelle nichts sagen.


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Hi,

wusste gar nicht, dass es VTK auch direkt als Paket gibt - das wird übrigens problemlos installiert.

Die Probleme gibts nach wie vor, sobald ich irgend etwas from source kompiliere. Jedes Mal tauchen Fehlermeldungen bezüglich Bibliotheken auf, die aber genau da existieren, wo der Kompiler sie sucht.

Hier mal ein ausführliches Output beim Kompilieren von GDCM 2.2.1:

/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libpthread.so.0, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libglib-2.0.so.0, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libpng14.so.14, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libz.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libfreetype.so.6, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libgobject-2.0.so.0, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libSM.so.6, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libICE.so.6, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXi.so.6, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXrender.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXrandr.so.2, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXfixes.so.3, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXcursor.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXinerama.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libfontconfig.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libXext.so.6, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libX11.so.6, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtCore.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: librt.so.1, needed by /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtCore.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so: undefined reference to `XFilterEvent'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so: undefined reference to `XSetSelectionOwner'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so: undefined reference to `XMoveWindow'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libQtGui.so: undefined reference to `XFixesSetCursorName'
...
make[2]: *** [bin/CStoreQtProgress] Error 1
make[1]: *** [Examples/Cxx/CMakeFiles/CStoreQtProgress.dir/all] Error 2
make: *** [all] Error 2

Interessant ist, dass ich auch nochmal versucht habe, das oxygen-transparent theme zu kompilieren, welches letzte Woche problemlos gelang. Mittlerweile kommen auch dabei ähnlich Fehlermeldungen.

Was kann also im System kaputt gegangen sein, dass nun keine Bibliothen mehr gefunden werden? Kann es sein, dass bei irgendeinem zypper Befehl der letzten Tage etwas passiert ist? Bleibt mir jetzt nur noch ein Neuaufsetzen des Systems oder gibts noch Ideen?

Am 25.09.2012 15:36, schrieb greg814:
> Hier mal ein ausführliches Output beim Kompilieren von GDCM 2.2.1:
Was hast du denn in ccmake konfiguriert?
Lief der Konfigurationsschritt fehlerfrei durch? Ich habs jetzt mal
schnell selbst heruntergeladen und kompiliert mit folgenden Einstellungen


GDCM_BUILD_APPLICATIONS   ON
GDCM_BUILD_EXAMPLES              ON

GDCM_BUILD_SHARED_LIBS           ON

GDCM_BUILD_TESTING               OFF

GDCM_DOCUMENTATION               ON

GDCM_USE_PARAVIEW                OFF

GDCM_USE_VTK                     ON

GDCM_WRAP_CSHARP                 OFF

GDCM_WRAP_JAVA                   ON

GDCM_WRAP_PYTHON                 ON


und das lief fehlerfrei auf 12.2 (ThinkPad in der Signatur) durch, das
einzige was ich bei mir nachinstallieren musste war libiodbc-devel, kann
natürlich bei dir mehr sein.


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Die gleichen Settings, lediglich:


GDCM_WRAP_JAVA                   OFF
GDCM_WRAP_PYTHON                 OFF

Configure und generate laufen fehlerfrei, auch die vtk-libs werden gefunden.

Das Problem taucht dann wieder bei der GLIBC Bibliothek libdl.so.2 auf wie auch schon beim ROOT Framework:

usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2, needed by ../../bin/libgdcmCommon.so.2.2.1, not found (try using -rpath or -rpath-link)                                                                                                                                                                       
../../bin/libgdcmCommon.so.2.2.1: undefined reference to `dladdr@GLIBC_2.2.5'                                                                                                  
collect2: error: ld returned 1 exit status                                                                                                                                     
make[2]: *** [bin/ChangeSequenceUltrasound] Error 1                                                                                                                            
make[1]: *** [Examples/Cxx/CMakeFiles/ChangeSequenceUltrasound.dir/all] Error 2                                                                                                
make[1]: *** Waiting for unfinished jobs....                                                                                                                                   
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2, needed by ../../bin/libgdcmCommon.so.2.2.1, not found (try using -rpath or -rpath-link)
../../bin/libgdcmCommon.so.2.2.1: undefined reference to `dladdr@GLIBC_2.2.5'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/CheckBigEndianBug] Error 1
make[1]: *** [Examples/Cxx/CMakeFiles/CheckBigEndianBug.dir/all] Error 2
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2, needed by ../../bin/libgdcmCommon.so.2.2.1, not found (try using -rpath or -rpath-link)
../../bin/libgdcmCommon.so.2.2.1: undefined reference to `dladdr@GLIBC_2.2.5'
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2, needed by ../../bin/libgdcmCommon.so.2.2.1, not found (try using -rpath or -rpath-link)
../../bin/libgdcmCommon.so.2.2.1: undefined reference to `dladdr@GLIBC_2.2.5'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[2]: *** [bin/CompressImage] Error 1
make[2]: *** [bin/ClinicalTrialAnnotate] Error 1
make[1]: *** [Examples/Cxx/CMakeFiles/ClinicalTrialAnnotate.dir/all] Error 2
make[1]: *** [Examples/Cxx/CMakeFiles/CompressImage.dir/all] Error 2
make: *** [all] Error 2

Hab glibc bereits neu installiert - ohne Veränderung. Andere Fehlermeldungen scheinen im Zusammenhang mit irgendwelchen X11 Bibliotheken zu stehen.

Am 25.09.2012 16:46, schrieb greg814:
> Hab glibc bereits neu installiert - ohne Veränderung. Andere
> Fehlermeldungen scheinen im Zusammenhang mit irgendwelchen X11
> Bibliotheken zu stehen.
>
Ehrlich gesagt bin ich da jetzt auch ziemlich ratlos, da es bei mir
geht. Ich könnte ggf. am Wochenende ein Paket basteln und auf dem OBS
zur Verfügung stellen, wenn es hilft, da das Software ist die ich auch
selbst verwende.

ROOT (wenn du die CERN Software meinst) findest du übrigens im science
repository
http://software.opensuse.org/package/root-system


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Am 25.09.2012 16:54, schrieb Martin Helm:
> ROOT (wenn du die CERN Software meinst) findest du übrigens im science
> repository
> http://software.opensuse.org/package/root-system
Das war jetzt aus Versehen natürlich nicht der Repository Link
http://download.opensuse.org/repositories/science/openSUSE_12.2


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Ich sollte öfter mal die Paketsuche benutzen! ROOT, Geant4, VTK, InsightToolkit - alles da (d.h. letzteres noch nicht für 12.2)!

Vielen Dank, das kann sicher nicht schaden. GDCM würde mir persönlich noch fehlen.

Mein Problem ist allerdings, dass ich beim Konfigurieren auf die ganzen cmake Optionen zugreife möchte, um z.B. einen install prefix anzugeben, damit auch mal verschiedene Software Versionen nebeneinander laufen können. Und da momentan gar nichts mehr vernünftig kompiliert, würde ich gern noch das zugrunde liegende Problem lösen. Aber zumindest liegt es ja anscheinend doch nicht an OpenSUSE, wenn bei Dir alles läuft. Ich werde vielleicht morgen einfach das System nochmal neu aufsetzen und schauen, ob es dann wieder funktioniert, wie es soll.

War das bei dir ein neu aufgesetztes oder ein upgedatetes System (du
schreibst von 11.3 im ersten Post, wenn das ein direktes Upgrade war
würde ich einige Probleme erwarten), ansonsten fehlt mir jede Erklärung?


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Ich hab bei der Neuinstallation die LVM Option gewählt, um mein /home zu behalten. Die System Partitionen sollten aber eigentlich gesäubert worden sein oder etwa nicht?

Am 25.09.2012 18:56, schrieb greg814:
>
> Ich hab bei der Neuinstallation die LVM Option gewählt, um mein /home
> zu behalten. Die System Partitionen sollten aber eigentlich gesäubert
> worden sein oder etwa nicht?
>
>
Wenn ausgewählt war, dass das entsprechende Volume formatiert wird, dann
schon, sollte der Default sein - hast du dich bei der Installation
vergewissert, dass da ein F dahinterstand, ausser du hast versehentlich
die Upgrade Option gewählt und die ist bei einem Sprung über 3 Versionen
eher mit Vorsicht zu genießen.


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Also, die Neuinstallation war erfolgreich, d.h. mittlerweile kann ich wieder ganz normal von der Source kompilieren.
Woran es allerdings gelegen haben mag - keine Ahnung. Ich habe die Neuinstallation wieder genauso durchgeführt wie vorher (LVM Option inklusive Formatierung von System- und Boot-Partitionen).
Naja, Hauptsache, es geht wieder - und nochmals vielen Dank für die Hilfe.

Computer sind eben einfach nicht deterministisch :slight_smile:


PC: oS 12.2 x86_64 | i7-2600@3.40GHz | 16GB | KDE 4.8.4 | GeForce GT 420
ThinkPad E320: oS 12.2 x86_64 | i3@2.30GHz | 8GB | KDE 4.9.1 | HD 3000
eCAFE 800: oS 12.2 i586 | AMD Geode LX 800@500MHz | 512MB | KDE 3.5.10

Falls jemand auch auf diesen Thread stoesst. Ich bin auf das exakt gleiche Problem gestossen. Lib war vorhanden (libxcb.so.1) wurde aber nicht gefunden, trotz -L. Auch bei mir stand was vom gcc 4.7. Auch hier ist ein openSUSE 12.2 welches durch diverse Updates gegangen ist.
Bei mir half das unbedingte Aktualisieren der binutils und des gcc 4.7 im yast (also eine neuinstallation der beiden Pakete)
Vermutlich habe ich irgendwann mal ein gcc 4.7 repo eingebunden und das Update hat den gcc nicht ersetzt.