[racket] link errors on 64bit

From: David Griffiths (dave at fo.am)
Date: Tue May 28 09:28:04 EDT 2013

Hi Matthew,

On 24/05/13 23:54, David Griffiths wrote:
> On 24/05/13 18:44, Matthew Flatt wrote:
>> At Thu, 23 May 2013 14:43:18 +0100, David Griffiths wrote:
>>> I've been getting a problem for some time building against the racket
>>> ubuntu packages on 64 bit:
>>>
>>> /usr/bin/ld: /usr/lib/libracket3m.a(salloc.o): relocation
>>> R_X86_64_TPOFF32 against `scheme_thread_locals' can not be used when
>>> making a shared object; recompile with -fPIC
>>>
>>> Any chance this can be resolved?
>>
>> Is this with a vanilla Racket build (e.g., no `--enable-shared')?
> 
> Probably - this is using the packages in the main PLT ubuntu launchpad
> ppa. I imagine they are built with vanilla settings.
> 
>> And it's happening when you link your program to "libracket3m.a", as
>> opposed to just building Racket, right? 
> 
> Right.
> 
>> Is your code compiled `-fPIC' (while the Racket code isn't, I think)?
> 
> It is indeed, as I'm building shared objects to load as racket modules.
> 
> I'm not clear why this is a problem with 64bit and not with 32, but I am
> a little rusty on this stuff...

Any ideas on where the solution to this would be?
Are the Ubuntu package maintainers on this list?

cheers,

dave

Posted on the users mailing list.