[fpc-devel] Fatal: Invalid PPU-File entry: 242

Sven Barth pascaldragon at googlemail.com
Fri May 1 15:59:17 CEST 2020

Bart had only replied to me, thus I fully quote his mail here.

Am 01.05.2020 um 10:29 schrieb Bart:
> On Thu, Apr 30, 2020 at 11:43 PM Sven Barth <pascaldragon at googlemail.com> wrote:
>> Between 3.2.0 and 3.3.1 an additional PPU entry was introduced that
>> carries an additional PPU version (the original version field is 1 Byte
>> and we're already at 207). If a 3.2.0 compiler (or older) finds a 3.3.1
>> unit it will complain about an unknown header entry (which is a fatal
>> error).
> As I have shown before, the fpc 3.0.4 compiler finds the 3.3.1 PPU
> and just ignores it.
>> A 3.3.1 compiler that finds a 3.2.0 unit or older will complain
>> about the missing header.
> It says the file doesn't start with PPU, which is a little wrong though...
>> This is not fixable due to the way PPU files are parsed.
> Well, that sucks then.
> At least for my system that means that 3.2.0 and trunk (3.3.1) cannot co-exist.
> See https://forum.lazarus.freepascal.org/index.php/topic,49606.msg360032.html#msg360032
> I'm at a loss ATM.

I need to correct myself: I was able to fix it in revision 45209, but 
you'll have to recompile your trunk units for that. The reason it worked 
for 3.0.4 was that 3.0.4 and 3.3.1 have different PPU versions, while 
3.2.0 and 3.3.1 hadn't (the new header was introduced shortly after 
3.2.0 was branched, thus there simply wasn't the need to increase the 
version). I've now increased the version and as that is checked first 
3.2.0 should now behave with trunk units post-45209 like 3.0.4 does.


More information about the fpc-devel mailing list