Linken von Bibliotheken

Post Reply
Message
Author
Andreas

Linken von Bibliotheken

#1 Post by Andreas »

Hallo zusammen !

Habe 'ne Frage bezüglich des Linkens von Bibliotheken. Folgende Situation: ich bin normaler User im System ohne
root-Rechte. Jetzt habe ich eine Bibliothek (NURBS++, falls die jemand kennt ... ) erfolgreich kompiliert und
in meinem Home-Verzeichnis unter ~/nurbs/lib (includes unter ~/nurbs/include/ ) installiert. Jetzt möchte ich gerne
mein eigenes Programm erfolgreich kompilieren können, was auch bis zum Linken geht. Dann kommen Meldungen der Art
"undefined reference oder ld32: FATAL 52: __do_global_ctors is not specified in current object, ... etc. "

Auf dem System ist der g++-2.95.2. Gelinkt wird mit den Optionen
" - g -lc -lm -O -Wall -nostdlib -L~/nurbs/lib -l<name der Bibliotheken ohne lib>"
Desweiteren ist in LD_LIBRARY_PATH mein lib verzeichnis enthalten.

Meine Frage ist nun was mache ich falsch und geht das, was ich vorhabe überhaupt ?! ldconfig funktioniert
ja leider nicht als normal-User.

Besten Dank im voraus.

Andreas

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Linken von Bibliotheken

#2 Post by hjb »

Hi,

eigentlich müßte es so gehen. Vielleicht hat der Autor von NURBS++ da einen Fehler gemacht. Du solltest mal schauen, wo das Symbol __do_global_ctors definiert ist.

Was passiert, wenn du die Optionen -lc, -lm und -nostdlib wegläßt? Mich beschleicht der Verdacht, daß es daher kommt.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Jochen

Re: Linken von Bibliotheken

#3 Post by Jochen »

Öhm, wenn Du oben die Linker-Zeile exakt so verwendest, würde ich <pre>-L ~/nurbs/lib</pre> verwenden statt<pre>-L~/nurbs/lib</pre>(man beachte das Leerzeichen zwischen "-L" und "~/nurbs/lib"!).

Wenn die Shell die Tilde nicht als erstes Zeichen eines Wortes sieht, beachtet sie es nicht weiter. Und der Linker löst die ~ sicherlich nicht auf...

Andreas

Re: Linken von Bibliotheken

#4 Post by Andreas »

Halli !

@hjb:
Hab ich schon ausprobiert, ohne Erfolg :(

@jochen:
ich habe es nun mit absoluten Pfaden probiert, ohne Erfolg :(

Irgendwie schafft der g++ es nie, die Symbole in der Bibliothek richtig aufzulösen. Nun, ich werd's weiter versuchen.

Trotzdem Danke für die Antworten ! ;)

Andreas

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Linken von Bibliotheken

#5 Post by hjb »

Hi,

es scheint ja ein C++-Programm zu sein. Du muß dann evtl. noch libstdc++ und libgcc hinzulinken (libgcc ist aber, glaube ich, inzwischen tot, doch um libstdc++ wirst du wohl nicht herumkommen).

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

martell
Posts: 1
Joined: 28. Apr 2001 2:48

Re: Linken von Bibliotheken

#6 Post by martell »

Hmpf, er mag irgendwie nicht ...

Es ist übrigens ein C++-Programm. Aber auch das Linken der libstdc++ bzw. libgcc
überzeugt ihn nicht.

Nun, ich werd's weiter versuchen ....

Andreas

kdefreak

Re: Linken von Bibliotheken

#7 Post by kdefreak »

mail eine blöde Frage:

kompilierst und linkst du auch wirklich mit g++ ? oder nur mit gcc ?

man sollte alles mit g++ machen, da er sich dann wie ein C++-Compiler verhält, gcc verhält sich standardmäßig wie ein C-Compiler.

der g++ sollte beim linken automatisch die stdlibc++ hinzulinken, dann sollte es gehen.

Post Reply