Page 1 of 1

fehlende Symbole in der libSM.so.6

Posted: 01. Oct 2008 15:41
by Benutzername
Nach einem Onlineupdate habe ich seit ein paar Tagen das Problem, dass sich nichts mehr compilieren lässt. Davon betroffen sind KDE4, SDL, Inkscape-devel und Gimp-devel. Alles bricht mit folgender Fehlermeldung ab:
/usr/lib/libSM.so.6: undefined reference to `uuid_unparse_lower'
/usr/lib/libSM.so.6: undefined reference to `uuid_generate'
Die Datei /usr/lib/libSM.so.6 gehört zum X11 Session-Management, Paket xorg-x11-libSM-7.3-44.5.i586.rpm, das seit 29. Juli nicht verändert wurde. Ich habe mal probeweise das neue Xorg 7.4 installiert, falls das 7.3 zu alt ist. Damit läuft zwar jetzt mein Monitor in voller Auflösung und auch sonst geht alles, der Fehler aber bleibt.
System ist Opensuse 11.0 Kann jemand etwas Licht in die Sache bringen?

Posted: 01. Oct 2008 16:09
by Janka
Ich würde vermuten, dass du zwar das Library-Paket erneuert hast, nicht aber das zugehörige devel-Paket. Oder umgekehrt.

Janka

Posted: 01. Oct 2008 17:04
by Benutzername
Daran sollte es nicht liegen. Installiert sind diese Pakete:
xorg-x11-libSM-7.4-1.1
xorg-x11-libSM-devel-7.4-1.1
Ich verwende diese Quelle: download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.0

Posted: 02. Oct 2008 10:30
by hjb
Hi!

Es fehlt die Bibliothek libuuid, die vermutlich als Extrapaket bereitsteht. Entweder gehört diese Bibliothek zur Grundausstattung und wurde aus irgendeinem Grund nicht installiert, oder die Abhängigkeit fehlt in xorg-x11-libSM-7.4-1.1 .

Grüße,
hjb

Posted: 02. Oct 2008 11:28
by Benutzername
Also ich habe hier diese installiert:
libuuid-devel-1.40.8-20.1
libuuid1-1.40.8-20.1
Strings sagt mir, /lib/libuuid.so.1.2 enthält folgende Symbole die mit uuid anfangen:
uuid__generate_random
uuid__generate_time
uuid_clear
uuid_compare
uuid_copy
uuid_generate
uuid_generate_random
uuid_generate_time
uuid_is_null
uuid_pack
uuid_parse
uuid_time
uuid_type
uuid_unpack
uuid_unparse
uuid_unparse_lower
uuid_unparse_upper
uuid_variant
uuid_generate und uuid_unparse_lower sind dabei, wieso werden sie trotzdem nicht gefunden? Linker-Cache ist auch aktuell, falls das eine Rolle spielt.

Posted: 03. Oct 2008 10:41
by hjb
Hi!

Könnte es irgendwo im System eine andere libuuid geben, so dass die falsche geladen wird? Das müsste man eigentlich schon mit ldd sehen können. Ansonsten hilft es vielleicht, das Programm mal mit strace zu observieren.

Grüße,
hjb

Posted: 03. Oct 2008 11:51
by Benutzername
Ähm, ja, daran scheint es zu liegen. Auf Verdacht habe ich /var/lib/rpm gesichert und dann ein rpm --rebuilddb gemacht. Nun sieht es so aus:
Es gibt eine /lib/libuuid.so.1 die auf /lib/libuuid.so.1.2 zeigt, beide gehören zum Paket libuuid1. In /usr/lib hingegen gibt es auch eine libuuid.so.1, die auf einmal niemandem gehört und über libuuid.so.16 auf libuuid.so.16.0.20 zeigt, die zum Paket libuuid16 gehört. Vorher gehörten alle diese Dateien zum Paket libuuid1.
Ich verneige mich vor den Programmierern des Linkers, das der noch weiß, was wohin passt. Ich nehme jetzt erstmal meinen Restfeiertag und setzte mich morgen nochmal dran.