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. 1〉 and 〈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. 1〉 used 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. 1〉 was not found but 〈arg. 2〉 exists
-
This error message is no longer used.
-
Fatal error 10024: Unit 〈arg. 1〉 searched but 〈arg. 2〉 found
-
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. 1〉 errors 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. 1〉 time 〈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. 1〉 is 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. 1〉 depends 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. 1〉 was 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. 1〉 from 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.