Strange problem linking object files, static and dynamic libs into a single shared library on x86_64 platform (Linux 2.6, AMD)

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

 



Hi all,

the almost final linking stage currently drives me nuts as I don't get  it
working correctly...the goal is described in the subject: I need to create a shared object (used for Java through JNI, static lib is no option therefore), combining object files from c++ compiled code, some shared and some static libs. All of that I created before myself (lots of 3rd party libs built from the source), so I have almost full control over what is done there.
I made sure that really all objects files going into the supporting libs have been compiled with "-fPIC", was able to verify this from the build logs. The same applies to the object files that also should be linked directly into the final artefact. However, when I do the final step, the shrinked down example looks like this

/usr/bin/g++ -shared -o lib/libqle.so<<here is the list of my .o files>>
-L./3rdparty/alea/lib -Wl,-Bstatic -lenbw_gpfc<<now more static&   dynamic libs
to come>>

I get the error message:

"relocation R_X86_64_32 against `a local symbol' can not/   /be used when
making a shared object; recompile with -fPIC"



This is annyoing (sort of ,-)) as I made sure that .o files in
"enbw_gpfc" have been compiled with -fPIC. Choosing another lib I get a
slightly changed error message:

"relocation R_X86_64_32S against..."

What is the difference with that "S" at the end...?

And finally choosing another static lib all works well. Any hint and/or direction where to look at and what to check would be really, really usefull, I spent now almost days for getting this build stuff up but the  final stage is still not working as designed...sigh ,-)

Should be noted I use gcc 4.1.2.


Thanks in advance,
Soeren Gerlach


-- 
Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!  
Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux