[Gelöst] Cannot find termcap

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

[Gelöst] Cannot find termcap

Beitrag von Nelson » 08.07.2008 16:24:41

Hallo,

ich habe Debian Lenny auf der Maschine und bekomme immer wieder auf der Console die Meldung

Code: Alles auswählen

Cannot find termcap: Can't find a valid termcap file at /usr/share/perl/5.10/Term/ReadLine.pm line 351
Zum Beispiel, wenn ich

Code: Alles auswählen

$ sieveshell --user=nelson localhost
connecting to localhost
Please enter your password:
ausführe.
Unter http://www.debian.org/doc/manuals/debia ... faq.de.txt finde ich
4.6. Warum kann ich Programme nicht kompilieren, die libtermcap benötigen?
--------------------------------------------------------------------------

Debian verwendet die `terminfo'-Datenbank und die `ncurses'-Bibliothek
für Terminal-Schnittstellenbefehle anstatt der `termcap'-Datenbank und
der `termcap'-Bibliothek. Benutzer, die Programme kompilieren, die
einiges Wissen über die Terminal-Schnittstelle benötigen, sollten
Verweise zu `libtermcap' durch Verweise auf `libncurses' ersetzen.

Um Binärprogramme zu unterstützen, die bereits mit der
`termcap'-Bibliothek gelinkt worden sind und für die Sie den Quellcode
nicht haben, bietet Debian ein Paket names `termcap-compat'. Dieses
stellt `libtermcap.so.2' und `/etc/termcap' bereit. Installieren Sie
dieses Paket, wenn die Programme mit der Fehlermeldung »can't load
library 'libtermcap.so.2'« abbrechen oder sich über eine fehlende
`/etc/termcap'-Datei beschweren.
Ich finde allerdings das Paket `termcap-compat' für Lenny nicht mehr. Und den Fehler finde ich auch nicht ganz. So sehen die Zeilen 347-352 der erwähnten Datei so aus

Code: Alles auswählen

sub LoadTermCap {
  return if defined $terminal;

  require Term::Cap;
  $terminal = Tgetent Term::Cap ({OSPEED => 9600}); # Avoid warning.
}
Kann mir jemand von euch weiterhelfen, die Fehlermeldung zu beheben, also Term::Cap bereit zustellen?

Vielen Dank!

Nelson
Zuletzt geändert von Nelson am 10.07.2008 08:39:16, insgesamt 1-mal geändert.
Openness prevails!
LINUX
Where open minds meet!

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Cannot find termcap

Beitrag von gms » 08.07.2008 19:29:44

Nelson hat geschrieben: Ich finde allerdings das Paket `termcap-compat' für Lenny nicht mehr. Und den Fehler finde ich auch nicht ganz.
Term::Cap verwendet die ncurses-Bibliothek und braucht daher auch das termcap-compat-Paket nicht
Überprüfe einmal ob und auf was die TERM Environmentvariable bei dir gesetzt ist ( "set | grep TERM" ) und poste bitte die ersten Zeilen von der infocmp Ausgabe

Gruß
gms

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: Cannot find termcap

Beitrag von Nelson » 09.07.2008 15:52:38

Hallo gms,

bei mir ist die TERM-Environmentvariable mit

Code: Alles auswählen

COLORTERM=
TERM=xterm
belegt. Und "infocmp" kenne ich jetzt nicht. Irgendwie scheint das für Vergleiche bei xterms eine Rolle zu spielen. Jedenfalls liefert infocmp ohne Options und Argumente

Code: Alles auswählen

infocmp: symbol lookup error: infocmp: undefined symbol: _nc_disable_period
Also mit mehr kann ich zu infocmp nicht dienen.

Grüsse

Nelson
Openness prevails!
LINUX
Where open minds meet!

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Cannot find termcap

Beitrag von gms » 09.07.2008 19:34:25

"infocmp" gehört zu den ncurses-Paketen, genauer gesagt zu "ncurses-bin" Paket. enn du ein "ldd -r /usr/bin/infocmp" aufrufst, dann solltest du dort eine "ibtic.so.*"-Library als Abhängigkeit finden, die das besagte Symbol zur Verfügung stellt, welches "infocmp" benötigt

Code: Alles auswählen

root@gms2:/# readelf -s /lib/libtic.so.5 | grep nc_disable_period
   102: 0000000000211b68     1 OBJECT  GLOBAL DEFAULT   24 _nc_disable_period
Diese "/lib/libtic.so.5" Library paßt bei dir anscheinend nicht zu dem Paket "ncurses-bin", obwohl beide eigentlich zum selben Source-Paket gehören
Mit "dpkg -l | grep ncurses" findest du die Versionsnummern zu allen ncurses-Paketen, ich vermute, daß bei dir die Versionsnummern von den zwei besagten Paketen nicht zusammen passen.

Gruß
gms

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: [Gelöst] Cannot find termcap

Beitrag von Nelson » 10.07.2008 08:42:14

Guten Morgen Gms

und vielen Dank für die Erklärung, die du deiner Lösung beigelegt hast. Du hattest Recht, ncurses-bin und lib32ncurses5 waren noch zwei ältere Versionen. Ein Nachinstallieren
hat das Problem beendet.

Grüsse

Nelson
Openness prevails!
LINUX
Where open minds meet!

Antworten