[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]: Probleme mit gpc - libgpc.a fehlt



Frank Dalchow <i00428@urmel.mfh-iserlohn.de> writes:

> Einige Programme suchen bei der Ausfuehrung nach lib*.so und einige 
> nach lib*.so.x. Schau dir mal /usr/lib an. 

Es ist richtig, dass einige Programme nach lib*.so und einige nach
lib*.so.x suchen, aber sich /usr/lib anzuschauen, hilft dabei gar nichts,
da dies beim Erstellen der Library ueber den soname festgelegt wird. Mit
"ldd -v program" kann man rausfinden, nach welchen Namen genau gesucht
wird. 

> Der Linker ld sucht aber nach lib*.a und libgpc.a ist im
> Debian-Paket nicht vorhanden.            ^^^^^^^^
> >
> >Ein "ln -s libgpc.so.2.8 libgpc.so" duerfte helfen.
> >(ich kenne gpc nicht und kann mich daher irren)
> >
> Du irrst dich. gpc-Wissen ist  nicht umbedingt erforderlich. Das Konzept, 
> das dahinter steckt, gilt z. Bsp. auch fuer C und andere Sprachen.

Er irrt sich nicht. (Oder vielleicht irre ich mich nicht, ich hatte so was
auch geschrieben.)

> Noch einmal: libgpc.so ist die Runtime-Bibliothek und wird bei der 
> Ausfuehrung eines mit gpc uebersetzten Programms benoetigt.
> libgpc.a enthaelt Anweisungen, wie und wo spaeter auf libgpc.so zugegriffen 

Nein! libgpc.a ist die statische Version der Library, hat ueberhaupt nicht
mit den so-Dateien zu tun. Wenn das Programm gegen libgpc.a gelinkt ist,
braucht man spaeter zum Ausfuehren die Runtime-Library nicht mehr.

Der Linker sucht (wenn nicht mit -static aufgerufen) erst noch libname.so
und dann nach libname.a. libname.so kann entweder direkt die dynamische
Library sein (mit -soname libname.so gelinkt) oder ein Link auf
libname.so.x (mit -soname libname.so.x) gelinkt. libnmame.so.x kann dann
auch noch ein Link auf libname.so.x.y sein.

> werden kann. libgpc.a wird zur Übersetzung eines Pascal-Programms benoetigt 
> und fehlt leider im Debian-Paket.
> 
> Das gleiche Konzept gilt fuer C. Wenn man die Datei libgcc.a im Verzeichnis
> /usr/lib/gcc-lib/. . ./ loescht, werden weiterhin fertige C-Programme
> ausgefuehrt, man kann aber keine C-Programme mehr uebersetzten, da der 
> Linker libgcc.a sucht und nicht mehr finden kann.

Das ist richtig, hat aber nur damit zu tun, dass es keine dynamische libgcc 
(libgcc.so*) gibt und daher C-Programme immer statisch gegen libgcc gelinkt 
sind.

> Vieleicht meldet sich ja mal jemand, der sich mit gpc beschaeftigt hat und 
> mir ernsthaft weiterhelfen kann. Trotzdem vielen Dank fuer die gutgemeinten
> Tips. 

Hast Du das mit dem Link eigentlich mal ausprobiert? Wenn ja, dann muss ich 
halt das gpc mal installieren und schauen, was da los ist.

Achim Oppelt

-- 
Achim Oppelt, Schwedenstr. 25, D-91080 Spardorf, Germany
e-mail: aoppelt@theorie3.physik.uni-erlangen.de
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <your_email_address>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     223


Reply to: