Tutorial "Libs unter Linux"

Chamäleon

Mitglied
Hallo,

ich habe das obige Tutorial mal durchgespielt. An dem Punkt, da dem die math.o und hallo.o zur libtest.so kompiliert werden, Befehl

gcc -shared -o libtest.so math.o hallo.o

erhalte ich folgende Fehlermeldung

/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: math.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
math.o: could not read symbols: Bad value
collect2: ld returned 1 exit status

warum dieses, was bedeutet es? Was bedeutet die Option -fPIC?

Ich wühle mich grade schon durch die gcc-man-page, aber irgendwie werde ich da nicht recht fündig.
 
Zurück