[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