atexit: undefined symbol in 64bit

Lane Brooks lbrooks at MIT.EDU
Mon Nov 13 17:40:00 UTC 2006


Jakub Jelinek wrote:
> On Mon, Nov 13, 2006 at 11:29:06AM -0500, Lane Brooks wrote:
>> I have the 32b and 64b version of a third party shared library that I am
>> trying to link against.  I can link fine against the 32b version on a
>> 32b FC5 machine just fine.  The 64b version (also on FC5), however,
>> gives the following error:
>>
>> /usr/bin/ld: ./ams_read: hidden symbol `atexit' in
>> /usr/lib64/libc_nonshared.a(atexit.oS) is referenced by DSO
>> /usr/bin/ld: final link failed: Nonrepresentable section on output
>> collect2: ld returned 1 exit status
>>
>> Any ideas on what the problem is?  Is it a problem with FC5 or with the
>> shared library?
> 
> In the third party shared library.  Most probably it was incorrectly
> linked with ld -shared instead of gcc -shared (or g++ -shared).
> 
> 	Jakub
> 

Is there a way to work around this issue?  While I can ask the third 
party to compile differently, I am not sure they will change and even if 
they do change, it will be months (perhaps even a year) before they 
release a new version.

Why is this problem specific to amd64 version?  The third party releases 
their software for RHEL4, and I am guessing it does not have this issue. 
  What is different in FC5 and FC6?

Thanks,
Lane




More information about the fedora-list mailing list