Hej!
Jag försöker kompilera Scilab med java-stöd på min amd64-burk.
Det enda som inte funkar är länkningen av java-interfacet. Länkaren körs
med följande kommando:
gfortran -Wl,-zdefs -Wl,-shared -o ../../bin/libjavasci.so <en himla
massa objektfiler> <en himla massa .a-filer>
Länkaren stannar då med följande felmeddelande:
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/crt1.o: relocation
R_X86_64_32S against `__libc_csu_fini' can not be used when making a
shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/crt1.o: could not
read symbols: Bad value
collect2: ld returned 1 exit status
Är det någon som förstår vad som är fel?
Efter att ha läst lite på nätet tror jag att problemet uppstår på
64-bitarsplattformar när man försöker länka ihop kod som är kompilerad
med -fPIC med kod som inte är kompilerad med -fPIC. I detta fal skulle
alltså problemet bero på att crt1.o inte är kompilerad med -fPIC. Kan
det vara så? Hör kan man isåfall lösa problemet?
crt1.o verkar vara en del av libc6-paketet i debian. Jag hittade även
ett debian-paket som heter libc6-pic. Har detta paket något med saken
att göra?
Alla förslag är välkomna!
/Arvid
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]