C.10 Unit loading messages.

This section lists all messages that can occur when the compiler is loading a unit from disk into memory. Many of these messages are informational messages.

Unitsearch: arg. 1


When you use the -vt option, the compiler tells you where it tries to find unit files.

PPU Loading arg. 1


When the -vt switch is used, the compiler tells you what units it loads.

PPU Name: arg. 1


When you use the -vu flag, the unit name is shown.

PPU Flags: arg. 1


When you use the -vu flag, the unit flags are shown.

PPU Crc: arg. 1


When you use the -vu flag, the unit CRC check is shown.

PPU Time: arg. 1


When you use the -vu flag, the time the unit was compiled is shown.

PPU File too short


The ppufile is too short, not all declarations are present.

PPU Invalid Header (no PPU at the begin)


A unit file contains as the first three bytes the ASCII codes of the characters PPU.

PPU Invalid Version arg. 1


This unit file was compiled with a different version of the compiler, and cannot be read.

PPU is compiled for another processor


This unit file was compiled for a different processor type, and cannot be read.

PPU is compiled for another target


This unit file was compiled for a different target, and cannot be read.

PPU Source: arg. 1


When you use the -vu flag, the unit source file name is shown.

Writing arg. 1


When you specify the -vu switch, the compiler will tell you where it writes the unit file.

Fatal error 10013: Can’t Write PPU-File


An error occurred when writing the unit file.

Fatal error 10014: Error reading PPU-File


This means that the unit file was corrupted, and contains invalid information. Recompilation will be necessary.

Fatal error 10015: Unexpected end of PPU-File


Unexpected end of file. This may mean that the PPU file is corrupted.

Fatal error 10016: Invalid PPU-File entry: arg. 1


The unit the compiler is trying to read is corrupted, or generated with a newer version of the compiler.

Fatal error 10017: PPU Dbx count problem


There is an inconsistency in the debugging information of the unit.

Error 10018: Illegal unit name: arg. 1(expecting arg. 2)


The name of the unit does not match the file name. There might to two reasons: either there is a spelling mistake in the unit name or there is a unit with a 8.3 name where the 8 characters are equal to first 8 characters of the name of a unit with a longer name. However, this unit is not found. Example: Program contains uses mytestunit;, the unit file or source of mytestunit are not available but there is a source with the name mytestun. Then compiler tries to compile and use that one, however the expected unit name does not match.

Fatal error 10019: Too much units


Free Pascal has a limit of 1024 units in a program. You can change this behavior by changing the maxunits constant in the fmodule.pas file of the compiler, and recompiling the compiler.

Fatal error 10020: Circular unit reference between arg. 1and arg. 2


Two units are using each other in the interface part. This is only allowed in the implementation part. At least one unit must contain the other one in the implementation section.

Fatal error 10021: Can’t compile unit arg. 1, no sources available


A unit was found that needs to be recompiled, but no sources are available.

Fatal error 10022: Can’t find unit arg. 1used by arg. 2


You tried to use a unit of which the PPU file isn’t found by the compiler. Check your configuration file for the unit paths.

Warning 10023: Unit arg. 1was not found but arg. 2exists


This error message is no longer used.

Fatal error 10024: Unit arg. 1searched but arg. 2found


dos truncation of 8 letters for unit PPU files may lead to problems when unit name is longer than 8 letters.

Warning 10025: Compiling the system unit requires the -Us switch


When recompiling the system unit (it needs special treatment), the -Us switch must be specified.

Fatal error 10026: There were arg. 1errors compiling module, stopping


When the compiler encounters a fatal error or too many errors in a module then it stops with this message.

Load from arg. 1(arg. 2) unit arg. 3


When you use the -vu flag, which unit is loaded from which unit is shown.

Recompiling arg. 1, checksum changed for arg. 2


The unit is recompiled because the checksum of a unit it depends on has changed.

Recompiling arg. 1, source found only


When you use the -vu flag, these messages tell you why the current unit is recompiled.

Recompiling unit, static lib is older than ppufile


When you use the -vu flag, the compiler warns if the static library of the unit is older than the unit file itself.

Recompiling unit, shared lib is older than ppufile


When you use the -vu flag, the compiler warns if the shared library of the unit is older than the unit file itself.

Recompiling unit, obj and asm are older than ppufile


When you use the -vu flag, the compiler warns if the assembler or object file of the unit is older than the unit file itself.

Recompiling unit, obj is older than asm


When you use the -vu flag, the compiler warns if the assembler file of the unit is older than the object file of the unit.

Parsing interface of arg. 1


When you use the -vu flag, the compiler warns that it starts parsing the interface part of the unit.

Parsing implementation of arg. 1


When you use the -vu flag, the compiler warns that it starts parsing the implementation part of the unit.

Second load for unit arg. 1


When you use the -vu flag, the compiler warns that it starts recompiling a unit for the second time. This can happen with interdependent units.

PPU Check file arg. 1time arg. 2


When you use the -vu flag, the compiler shows the filename and date and time of the file on which a recompile depends.

Warning 10040: Can’t recompile unit arg. 1, but found modified include files


A unit was found to have modified include files, but some source files were not found, so recompilation is impossible.

File arg. 1is newer than the one used for creating PPU file arg. 2


A modified source file for a compiler unit was found.

Trying to use a unit which was compiled with a different FPU mode


Trying to compile code while using units which were not compiled with the same floating point format mode. Either all code should be compiled with FPU emulation on, or with FPU emulation off.

Loading interface units from arg. 1


When you use the -vu flag, the compiler warns that it is starting to load the units defined in the interface part of the unit.

Loading implementation units from arg. 1


When you use the -vu flag, the compiler warns that it is starting to load the units defined in the implementation part of the unit.

Interface CRC changed for unit arg. 1


When you use the -vu flag, the compiler warns that the CRC calculated for the interface has been changed after the implementation has been parsed.

Implementation CRC changed for unit arg. 1


When you use the -vu flag, the compiler warns that the CRC calculated has been changed after the implementation has been parsed.

Finished compiling unit arg. 1


When you use the -vu flag, the compiler warns that it has finished compiling the unit.

Adding dependency: arg. 1depends on arg. 2


When you use the -vu flag, the compiler warns that it has added a dependency between the two units.

No reload, is caller: arg. 1


When you use the -vu flag, the compiler warns that it will not reload the unit because it is the unit that wants to load this unit.

No reload, already in second compile: arg. 1


When you use the -vu flag, the compiler warns that it will not reload the unit because it is already in a second recompile.

Flag for reload: arg. 1


When you use the -vu flag, the compiler warns that it has to reload the unit.

Forced reloading


When you use the -vu flag, the compiler warns that it is reloading the unit because it was required.

Previous state of arg. 1: arg. 2


When you use the -vu flag, the compiler shows the previous state of the unit.

Already compiling arg. 1, setting second compile


When you use the -vu flag, the compiler warns that it is starting to recompile a unit for the second time. This can happen with interdependent units.

Loading unit arg. 1


When you use the -vu flag, the compiler warns that it starts loading the unit.

Finished loading unit arg. 1


When you use the -vu flag, the compiler warns that it finished loading the unit.

Registering new unit arg. 1


When you use the -vu flag, the compiler warns that it has found a new unit and is registering it in the internal lists.

Re-resolving unit arg. 1


When you use the -vu flag, the compiler warns that it has to recalculate the internal data of the unit.

Skipping re-resolving unit arg. 1, still loading used units


When you use the -vu flag, the compiler warns that it is skipping the recalculation of the internal data of the unit because there is no data to recalculate.

Unloading resource unit arg. 1(not needed)


When you use the -vu flag, the compiler warns that it is unloading the resource handling unit, since no resources are used.

Error 10061: Unit arg. 1was compiled using a different whole program optimization feedback input (arg. 2, arg. 3); recompile it without wpo or use the same wpo feedback input file for this compilation invocation


When a unit has been compiled using a particular whole program optimization (wpo) feedback file (-FW<x> -OW<x>), this compiled version of the unit is specialised for that particular compilation scenario and cannot be used in any other context. It has to be recompiled before you can use it in another program or with another wpo feedback input file.

Indirect interface (objects/classes) CRC changed for unit arg. 1


When you use the -vu flag, the compiler warns that the indirect CRC calculated for the unit (this is the CRC of all classes/objects/interfaces/ in the interfaces of units directly or indirectly used by this unit in the interface) has been changed after the implementation has been parsed.

PPU is compiled for another i8086 memory model


This unit file was compiled for a different i8086 memory model and cannot be read.

Loading unit arg. 1from package arg. 2


The unit is loaded from a package.

Fatal error 10065: Internal type ”arg. 1” was not found. Check if you use the correct run time library.


The compiler expects that the runtime library contains certain types. If you see this error and you didn’t change the runtime library code, it’s very likely that the runtime library you’re using doesn’t match the compiler in use. If you changed the runtime library this error means that you removed a type which the compiler needs for internal use.

Fatal error 10066: Internal type ”arg. 1” does not look as expected. Check if you use the correct run time library.


The compiler expects that the runtime library contains certain types. If you see this error and you didn’t change the runtime library code, it’s very likely that the runtime library you’re using doesn’t match the compiler in use. If you changed the runtime library this error means that you changed a type which the compiler needs for internal use and which needs to have a certain structure.

Skipping unit, PPU and compiler have to be both compiled with or without LLVM support


Units compiled by a compiler built with the LLVM code generator cannot be used with a regular compiler, and vice versa.

PPU is compiled for another WebAssembly exceptions mode


This unit file was compiled for a different WebAssembly exceptions mode.

Skipping unit, PPU and compiler have to be both compiled with or without SYMANSISTR support


Units compiled by a compiler built with -dSYMANSISTR cannot be used with a regular compiler built without, and vice versa.

PPU and program must both be compiled with or without WebAssembly multithreading support


The user is compiling a program with multithreading turned on, but the unit was compiled with multithreading off, or vice versa.

Warning 10071: Unsupported esp-idf version


FPC supports only certain ESP-IDF versions. It is very unlikely that the resulting program works if this warning is thrown.