[fpc-pascal] Library Project raises Linker Error Hints at -fPIC option

Andrew Brunner andrew.t.brunner at gmail.com
Wed Jan 7 03:46:18 CET 2009


I'm looking for a reason why I get this error while linking a compile
of a Shared Object I'm building under x64 (Ubuntu).

BinUtils 2.19 (Started with 2.18) but 2.19 did not fix problem.
FPC 2.2.3 (1/6/2009)
Lazarus SVN RVN :17967 0.9.27 beta

Error while building.

/usr/local/bin/ld:
libpuMatrixMemoryThread.a(uMatrixMemoryThread0s8.o): relocation
R_X86_64_32S against `TC_UMATRIXMEMORYTHREAD_EVENT_ITEM_NUMBER' can
not be used when making a shared object; recompile with -fPIC


-------------------------------------

The assignable typed constant is declared inside the localized unit
file.  It's not global but it's right after the implementation
declaration

implementation

Const
  Event_Item_Number              : DWORD   = 1;


-------------------------------------

Can anyone tell me why this would be a problem or what I need to do to
get FPC to build or LD to link properly?  I've added the -fPIC option
to pass to the linker in Lazarus but to no avail....  Please help...

Thanks.



More information about the fpc-pascal mailing list