[Lazarus] Linker errors

Antonio Fortuny a.fortuny at sitasoftware.lu
Wed Jan 15 09:34:47 CET 2014

Hi Folks.

In a TDaemon project running nicely since beginning of last year, I have 
added a TTimer to execute periodically an internal control procedure.
I then added a TTimer component, the unit "ExtCtrls" in the uses clause, 
the code of the TTimer event, compile and ... nothing: linker fails with 
a lot of errors like these:

/usr/bin/ld: warning: /home/sources/compiled/link.res contains output 
sections; did you forget -T?
/home/sita/.lazarus/lib/LCLBase/units/x86_64-linux/wsimglist.o: In 
wsimglist.pp:(.text+0x99f): undefined reference to 
/home/sita/.lazarus/lib/LCLBase/units/x86_64-linux/wsmenus.o: In 
wsmenus.pp:(.text+0x167): undefined reference to `WSRegisterMenuItem'
/home/sita/.lazarus/lib/LCLBase/units/x86_64-linux/wsmenus.o: In 
wsmenus.pp:(.text+0x187): undefined reference to `WSRegisterMenu'
/home/sita/.lazarus/lib/LCLBase/units/x86_64-linux/wsmenus.o: In 
wsmenus.pp:(.text+0x1a7): undefined reference to `WSRegisterMainMenu'

As you can read the linker references a lot of units located into the 
local user home directory. I wonder why.
The IDE has been rebuilt without problems

Installation is a Linux Opensuse 12.2 x86_64, Lazarus 1.0.12, fpc 2.6.2 
installed out of rpm's.

When I embed all TTimer references into conditional code, no more 
problem. The daemon compiles and runs as before.
BTW, the same project compiles and runs under Win32 with the TTimer 
(Lazarus 1.0.12 and FPC 2.2.6, same external componets).
I think to a workaround solution based on another thread sleeping for 
the required period of timet this adds some extra useless overhead

Any explanation ?


Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.

More information about the Lazarus mailing list