Probleme mit libm.so und Mplayer

  • Thread starter Thread starter Charon102
  • Start date Start date
C

Charon102

Guest
Hallo Leute

Mein Mplayer funktioniert leider nicht. Immer wenn ich das Programm starten möchte bekommen ich die Fehlermeldung
"/libexec/ld-elf.so.1: Shared object "libm.so.3" not found, required by "libGL.so.1"

Kann mir jemand bei dem Problem weiterhelfen? Vielen Dank.

Grüsse Karim
 
Hi,

ich würde Dir ja einfach mal empfehlen /usr/ports/x11/libGL neu zu bauen.

Gruß
 
Wahrscheinlich hast du FreeBSD 6 laufen und hast ein Package installiert, das für FreeBSD 5.3 oder 5.4 erstellt wurde (Hindergrund: libm.so.3 ist eine lib aus FreeBSD 5.3 oder 5.4. In FreeBSD 6 heißt sie libm.so.4).

Entweder baust du alle Ports neu, die von libm.so.3 abhängen oder du mappst libm.so.3 auf libm.so.4. Das kannst du mit einem Eintrag in /etc/libmap.conf machen (siehe auch die manpage von libmap.conf):

Code:
libm.so.3                       libm.so.4
 
Er ist sicher auf einen Mangel in /usr/ports/UPDATING hereingefallen. Dort steht leider nicht, dass compat4x und compat5x seit einigen Tagen ein rc-Skript benötigen. D.h. auch wenn ein Port die Dinger mitbaut (Opera z.B.) funktionieren sie nicht, da nicht gestartet. Die Folge sind Fehler wie oben.

Zur Abhilfe ein
Code:
comapt4x_enable="YES"
comapt5x_enable="YES"
in die /etc/rc.conf. Natürlich erst die Ports misc/compat4x und compat5x in aktuellster Fassung installieren.
 
compat5x

Frage zur Sache: Selbst, wenn ich in den Kernel

Code:
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5

einkompiliere? Dummerweise installieren Opera & Co. die Ports mit, und er meckert auch beim Starten an, wenn ich sie nicht explizit in der rc.conf angebe.

Ein portsclean -L bringt mir aber dann eine Menge doppelte Bibliotheken, die alle auf compat5x hinweisen, einige wenige auf compat4x. Denke ich doch, daß man sich den Kram kneifen kann, wenn's eh' schon im Kernel steckt. Nur, wie sage ich das Opera & Co.?
 
Die Kerneloptionen implementieren dir nur die alten Funktionen (Syscalls, etc) in den Kernel. Die Ports hingegen installieren dir die Librarys aus dem alten Userland.
Die rc-Scripte führen eigentlich nur eine Erweiterung des Librarysuchpfades durch, damit die in /usr/compat/ liegenden Libs für den Linker sichtbar werden. Passiert das nicht, hast du sie zwar, er kann sie aber nicht nutzen. Neu sind im übrigen nicht die Scripte sondern lediglich die Funktion sie an oder auszuschalten.
 
Danke für die gute Erklärung ;)
Heißt das also im Klartetxt, daß man die Vorschläge von portsclean -L getrost ignorieren kann, wenn er doppelte Bibliotheken anmault?
 
Back
Top