On 23 Sep 2010, at 16:02, Dibo wrote:
I have no problem with LCL and Richmemo in DLL, but on linux I can't
build SO library with TRichMemo. I get this error:
/usr/bin/ld: /home/dibo/Programowanie/Lazarus/components/richmemo/
lib/x86_64-linux/richmemo.o: relocation R_X86_64_32S against
`TC_RICHMEMO_RTFLOADSTREAM' can not be used when making a shared
object; recompile with -fPIC
/home/dibo/Programowanie/Lazarus/components/richmemo/lib/x86_64-
linux/richmemo.o: could not read symbols: Bad value
Compiling with -fPIC switch doesn't help (I rebuilt RTL with
CREATESHARED=1 too). Project with empty form (and
with random LCL components) is compiling without errors. I post this
bug
on mantis some times ago, but maybe this is minor bug and I cans fix
this in source by my self (it blocks the development of my project)?
Any
idea? It seems, that compiler have problem with this global variables:
var
RTFLoadStream : function (AMemo: TCustomRichMemo; Source: TStream):
Boolean = nil;
RTFSaveStream : function (AMemo: TCustomRichMemo; Dest: TStream):
Boolean = nil;
I have latest FPC and Lazarus from SVN
Ubuntu 10.4 64 bit
You can probably work around the problem for now by going to line 1448
of compiler/ptconst.pas and changing
if sym.varspez=vs_const then
cursectype:=sec_rodata
else
cursectype:=sec_data;
into
cursectype:=sec_data;
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal