libncursesw.so.6 - Woher nehmen, wenn nicht stehlen? mplayer startet nicht!

konstantin

Well-Known Member
Hallo Community!

Seit dem ich mplayer aktualisiert habe, bekomme ich beim starten folgende Fehlermeldung:

Code:
$ mplayer
/libexec/ld-elf.so.1: Shared object "libncursesw.so.6" not found, required by "libcaca.so.0"

Diese Fehlermeldung ist ja ein bekanntes Problem, wenn der Port nicht richtig mit den Abhängigkeiten aktualisiert wurde. Das ganze System ist aber up-to-date und ich habe mplayer schon mehrmals mit allen Abhängigkeiten aktualisiert.

Nun, libncursesw.so ist nicht unbekannt. Nur die Version 6 ist nicht vorhanden.

Code:
$ locate libncursesw
/usr/compat/linux/usr/lib/libncursesw.so
/usr/compat/linux/usr/lib/libncursesw.so.5
/usr/compat/linux/usr/lib/libncursesw.so.5.4

Nun hab ich herausgefunden, dass die oben aufgelisteten Dateien aus dem Paket linux_base-fc-4_10 stammen:

Code:
$ pkg_info -L linux_base-fc-4_10 | grep libncursesw
/compat/linux/usr/lib/libncursesw.so
/compat/linux/usr/lib/libncursesw.so.5
/compat/linux/usr/lib/libncursesw.so.5.4


Nun, wo finde ich die Datei in der Version 6?

Ich hätte da noch den Port linux_base-fc6 anzubieten. Der lässt sich nur nicht installieren:
IGNORE: compat.linux.osrelease: 2.4.2 is not supported
Ob sich da vielleicht die gesuchte Datei drin versteckt?

Lässt sich mplayer also zur Zeit nicht lauffähig bauen? Oder gibt es bei mir ein anders Problem?

Gruß
Konstantin
 
Unter Umständen ist dein System nicht in Ordnung bzw. nicht komplett. Die 6er gehört zur aktuellen Stable.

cd /usr/src/lib/ncurses/
make all install clean

Und dann mplayer sollte die lib finden.

Gruss
 
Jo, libncurses.so.6 baut er damit auch. Allerdings beschwert sich mplayer über die libncursesw.so.6, und nicht die libncurses.so.6! Die wird damit nicht installiert. :-(

Weitere Ideen?
 
Dein Sourcetree ist offenbar zu alt oder nicht komplett?! Die w-Variante von ncurses ist meines Erachtens erst in den Tree gekommen.

[/<1>src/lib/ncurses] # l
total 26
drwxr-xr-x 10 root wheel 512 24 Jul 09:06 .
drwxr-xr-x 71 root wheel 1536 7 Apr 19:49 ..
-rw-r--r-- 1 root wheel 169 6 Apr 19:52 Makefile
-rw-r--r-- 1 root wheel 154 6 Apr 19:52 Makefile.inc
-rw-r--r-- 1 root wheel 1437 24 Jul 09:06 config.mk
drwxr-xr-x 2 root wheel 512 15 Jun 19:05 form
drwxr-xr-x 2 root wheel 512 7 Apr 19:49 formw
drwxr-xr-x 2 root wheel 512 15 Jun 19:05 menu
drwxr-xr-x 2 root wheel 512 7 Apr 19:49 menuw
drwxr-xr-x 2 root wheel 512 24 Jul 09:06 ncurses
drwxr-xr-x 2 root wheel 512 7 Apr 19:49 ncursesw
drwxr-xr-x 2 root wheel 512 15 Jun 19:05 panel
drwxr-xr-x 2 root wheel 512 7 Apr 19:49 panelw

Da ist der Bursche... Bei mir läuft FreeBSD 6.2 STABLE.

Also: src-tree updaten

Gruss
 
Du sagst leider nicht, welche FreeBSD Version du einsetzt. Die Ports werden nur fuer 6-STABLE aktualisiert. Wenn du 6.2-RELEASE faehrst dann darfst nicht ports/packages mischen.
 
Ich hatte die letzten Wochen keine Zeit, um mich darum zu kümmern, darum habe ich mich nicht gemeldet.

Also ich muss gestehen, dass ich jetzt doch ein wenig durcheinander komme. Ich habe das Forum, das Wiki und das Handbuch noch durchforstet.

Also ich habe FreeBSD 6.2-RELEASE installiert. uname -r sagt dazu: 6.2-RELEASE-p3.

Ich habe für portupgarde -P die Variable PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
gesetzt.

Für die Ports habe ich bisher immer mit cvsup die Dateien für /usr/ports runtergeladen.
ports-supfile:
Code:
*default host=cvsup.de.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
ports-all

Die Programme installiere ich immer mit portupgrade -P. An meinem System bzw. am Sourcetree habe ich bisher eigentlich nichts gemacht.

So, die Frage ist nun, wo der Fehler liegt. Ich benutze ja Stable-Packages, richtig? Muss ich dann auch mein System immer auf den Stable aktualisieren? Dass soll ja nicht für den Endanwender gedacht sein, oder?
 
Das Problem ist, dass es keine zu RELEASE, STABLE oder CURRENT passenden Ports gibt. Es gibt dort nur einen "Zweig", bei dem in den Ports selbst berücksichtigt wird, welche Optionen/Versionsstände für welchem src-Zweig funktionieren (bitte korrigiert mich ggf.).
Daher hast du quasi aktuelle Ports, aber ein etwas älteres System.

Wenn du kein Einsteiger mehr bist, kannst du auch STABLE benutzen.
(siehe auch: http://wiki.bsdforen.de/freebsd/umsteiger?s=stable#die_entwicklungszweige_von_freebsd - Achtung, dieses Dokument wird zur Zeit von Kamikaze ins Wiki eingepflegt.)

Allerdings weiß ich ehrlich gesagt nicht, wie das dann mit den Packages läuft, da ich mir unter STABLE die Portsachen und Kernel + Userland i.d.R. alle selbst durchkompiliere.
 
Also kommt das Problem daher, weil ich nicht regelmäßig meine Welt neu baue, ja? Dann werde ich das mal versuchen ... Danke schon mal.
 
Also ich habe FreeBSD 6.2-RELEASE installiert. uname -r sagt dazu: 6.2-RELEASE-p3.

Ich habe für portupgarde -P die Variable PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
gesetzt.

release != stable. Du verwendest schlicht die falschen Packages. Das geht 99% der Zeit gut, im Moment dank neuer curses lib halt nicht. Du versuchst neuere Ports auf einem aeltern System zu installieren/starten. Das ist nur andersrum supported :)

Einfach /usr/src fuer RELENG_6 auschecken und Welt neu bauen/installieren (Handbuch enthaelt alles noetige). Ist einfacher als man denkt :)
 
Back
Top