Fpc does not recompile all required ppu
Original Reporter info from Mantis: Martin @martin_frb
-
Reporter name: Martin Friebe
Original Reporter info from Mantis: Martin @martin_frb
- Reporter name: Martin Friebe
Description:
Using FPC 3.0.4, I very often get this Error during linking:
Error: Undefined symbol: RTTI_$FPDBGDWARFDATACLASSES_$$_DEF787
(not sure it is always that unit, but always RTTI_......)
This is because some ppu where not recompiled from their pas files, even though units they depend on had changed (and had been recompiled)
None of the units are/were compiled with the "release" flag. So my understanding is, they should be recompiled.
FPDBGDWARFDATACLASSES is a unit. There is only one .ppu and one .o file for that unit.
The unit was re-compiled (according to ppu timestamp), and that is correct as a unit in its uses clause had changed.
(this unit itself did not change)
The only files containing this text are
- the previous successfully build exe
for one of the strings (...786) also the pre-previous exe (i.e. altogether the last 2 successful builds)
- the file "fpdebugdebugger.o"
which according to the timestamp was NOT rebuild.
But the IDE did rebuild the file "LazDebuggerFp.pas" (log + timestamp of ppu).
And that is the package mainfile, that contains:
uses
FpDebugDebugger, LazarusPackageIntf;
So fpc should have seen that FpDebugDebugger needed to be rebuild.
FpDebugDebugger has FpDbgDwarfDataClasses in its "uses".
Mantis conversion info:
- Mantis ID: 36005
- OS: win 10
- OS Build: 10
- Build: 3.0.4
- Platform: 64bit Intel