[Lazarus] Erro: undefined symbol

michael.vancanneyt at wisa.be michael.vancanneyt at wisa.be
Tue May 29 13:45:53 CEST 2012

On Tue, 29 May 2012, Antonio Fortuny wrote:

> Hi All.
> Maybe I'm coming back with an old thing but I can't get rid of it.
> I've compiled and installed a new package (UIB): no problem anywhere.
> Then I begin to use the package into a new project. I've just added the 
> package to the project and nothing else.
> At the compilation I get the error messages:
> UibDataSet.lpr(20,1) Error: Undefined symbol: THREADVARLIST_UIBDATASET
> UibDataSet.lpr(20,1) Error: Undefined symbol: VMT_UIBDATASET_TUIBDATASET
> UibDataSet.lpr(20,1) Fatal: There were 2 errors compiling module, stopping
> Line 20 is the
> end.
> of th lpr.
> No components have been used yet neither any unit from the new package.
> I didn't find any solution for it on the net and removing *.ppu and *.o does 
> not solve the problem.
> Neither does the change from {$mode objfpc} (my default) to {$mode DELPHI}.
> Removing debug options in linker doe not solve the problem.
> There are no other *.ppu nor *.o from the package anywhere in the target PC.

Do you include the unit UIBDATASET in the uses clause?

Do you actually use something from the unit ?

if not, try to do so.

It looks like the compiler decided that the UIBDATASET unit uses threadvars, 
and includes them in the global list of threadvars, but then sees that you
don't actually use the unit, so does not include the unit in the link


More information about the Lazarus mailing list