Re: missing shared object "libc_r.so.4" und "libqt-mt.so.3"

From: Oliver Fromme <olli(at)secnetix.de>
Date: Wed, 5 Feb 2003 23:43:01 +0100 (CET)

Jens Boraschke <borabora(at)genion.de> wrote:
> kann man wo nachlesen, wleche libs was enthalten. immer wieder fehlen
> verschiedene libs
> nun suche ich libstdc++-libc6.2-2.so.3.

Wenn Du Software ordentlich als Port (oder Package) in-
stallierst, werden alle Abhängigkeiten automatisch mit-
installiert. Dann kann es eigentlich nicht passieren,
daß eine Library fehlt.

Wo genau die genannte Lib herkommt, weiß ich nicht; sie
ist auf keiner meiner Maschinen (weder 4.7 noch 5.0).
Was hast Du denn installiert (und auf welche Weise), das
diese Library vermißt?

> genauso mit errorcodes, wo gibt es eine beschreibung, hab in den faq's
> nix gefunden

Das kommt drauf an, um was für errorcodes es geht. Wie
so häufig, gibt es da mehrere Standards ...

Wenn es um errno-Nummern geht, kannst Du diese in der
manual-page errno(2) (== intro(2)) nachlesen. Ich habe
mal ein Shell-Skript geschrieben, mit dem man bequem nach
Namen oder Nummer suchen kann:

http://www.secnetix.de/~olli/scripts/errno

$ errno 13
EACCES 13 /* Permission denied */
$ errno pipe
ESPIPE 29 /* Illegal seek */
EPIPE 32 /* Broken pipe */

Allerdings _sollten_ die meisten Programme bereits von
alleine solche Nummern in die entsprechende Fehlermeldung
übersetzen, so daß man als Anwender normalerweise nicht
mit den Nummern konfrontiert wird.

Dann gibt es da noch die Exit-codes von Executables.
Traditionell liefert ein Programm den Exit-code 0 zurück,
wenn alles in Ordnung ist, und einen anderen Wert (meistens
1), wenn etwas schiefging. Es gibt einen erweiterten Stan-
dard, den man in der manual-page sysexits(3) nachlesen
kann. Dort findest Du Namen, Nummern und ausführliche Be-
schreibungen. Aber nicht alle Programme verwenden dies.

Manche Programme erfinden einfach ihre eigenen Exit-codes.
Diese sind dann normalerweise in der zugehörigen manual-
page dokumentiert. Häufig hat man z.B. 1 für einen Usage-
Fehler und 2 für I/O-Fehler. Wenn ein programm durch ein
Signal abgebrochen wurde, ist der Exit-code gleich der
Signalnummer plus 128. Die Namen und Nummern der Signale
wiederum kann man in der manual-page signal(3) nachschla-
gen; auch hiefür funktioniert obiges Skript, indem Du es
einfach von »errno« auf den Namen »signal« linkst.

$ signal 15
SIGTERM 15 /* software termination signal from kill */
$ signal ill
SIGILL 4 /* illegal instr. (not reset when caught) */
SIGKILL 9 /* kill (cannot be caught or ignored) */

Die verschiedenen Protokolle verwenden natürlich auch wie-
der ihre eigenen Fehlercodes, z.B. das X-Protokoll, HTTP
und so weiter. Aber auch mit diesen sollte man als End-
anwender normalerweise nicht konfrontiert werden.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 05 Feb 2003 - 23:43:06 CET

search this site