Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2021-04

Annoying error when building compiler on i386-win32

7 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

J. Gareth Moreton

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.

Gareth aka. Kit

This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus

Reply by email

Sven Barth
to J. Gareth Moreton
J. Gareth Moreton wrote 17 lines
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.

Regards,
Sven

Reply by email

Florian Klämpfl
to Sven Barth
Show quoted text 15 lines
Am 06.04.2021 um 07:37 schrieb Sven Barth via fpc-devel : 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).

Reply by email

Michael Van Canneyt
to Florian Klämpfl
Florian Klämpfl wrote 19 lines
> Am 06.04.2021 um 07:37 schrieb Sven Barth via fpc-devel : > > 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.

Reply by email

Florian Klämpfl
to Michael Van Canneyt
Show quoted text 22 lines
Am 06.04.2021 um 10:42 schrieb Michael Van Canneyt via fpc-devel : 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 : >> 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.

Reply by email

Michael Van Canneyt
to Florian Klämpfl
Florian Klämpfl wrote 26 lines
> Am 06.04.2021 um 10:42 schrieb Michael Van Canneyt via fpc-devel : > > > > 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 : >>> 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.

Reply by email

J. Gareth Moreton
to Michael Van Canneyt: The weird behaviour of windows is is not a valid reason to remove a {$linklib} statement.…

I'm trying to avoid removing the $linklib statement, but currently it's the only way to build the i386-win32 compiler on my 64-bit system.  I'm suggesting turning the error into a warning, if the correct DLL can't be found, because it doesn't affect successful compilation of the unit.

Of course, being able to locate the correct 32-bit DLL or some such is better overall, although I would still propose a warning over an error.

Gareth aka. Kit

Michael Van Canneyt wrote 44 lines
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 >> : >> >> 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. _______________________________________________ fpc-devel maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus

Reply by email