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

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



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

>
>
>> Am 06.04.2021 um 10:42 schrieb Michael Van Canneyt via fpc-devel <fpc-devel at lists.freepascal.org>:
>>
>>
>>
>> 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.
>
> No. But the compiler could take care of the fact to look into the right directory as we do in the i386-win32 to x86_64-win64 case.

Absolutely.

Michael.


More information about the fpc-devel mailing list