[fpc-devel] Annoying error when building compiler on i386-win32

Michael Van Canneyt michael at freepascal.org
Tue Apr 6 10:42:53 CEST 2021



On Tue, 6 Apr 2021, Florian Klämpfl via fpc-devel wrote:

>
>
>> Am 06.04.2021 um 07:37 schrieb Sven Barth via fpc-devel <fpc-devel at lists.freepascal.org>:
>> 
>> Am 05.04.2021 um 20:33 schrieb J. Gareth Moreton via fpc-devel:
>>> Hi everyone,
>>> 
>>> I have a slightly annoying error when building the compiler for i386-win32.  I mentioned it to Sven a while ago, and the cause is due to the fact that my copy of common.dll is 64-bit, not 32-bit (as Sven confirmed for me).
>>> 
>>> Compiling .\oracle\src\oraoci.pp
>>> oraoci.pp(1437) Error: Invalid DLL C:\WINDOWS\system32\common.dll, invalid header size
>>> oraoci.pp(1437) Fatal: There were 1 errors compiling module, stopping
>>> Fatal: Compilation aborted
>>> 
>>> Simply commenting out "{$linklib common}" on line 19 of the above file fixes the problem.  I would like to propose that this error be changed to a warning, since apparently not having the library present doesn't cause issues for compilation, just possibly execution later on.
>> 
>> No. If you have a messed up system, that is not *our* fault.
>
> But isn’t the complaint valid to a certain degree: if one cross compiles from x86_64-win64 to i386-win32, then the wrong DLLs are checked due to folder redirection, no? We have only code in place for the other direction (i386-win32 to x86_64-win64).

The weird behaviour of windows is is not a valid reason to remove a {$linklib} statement.

Michael.


More information about the fpc-devel mailing list