Sign in Join

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

Mailing lists / fpc-devel / 2021-08

Re: Building trunk of today fails on Windows: Error:Invalid DLL C:\WINDOWS\system32\common.dll, invalid header size

3 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

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

J. Gareth Moreton

It might be to do with the order that directories are searched. If it finds the 64-bit version ghost, then it will throw an error. I've requested to change the error to a warning instead in the post, but was shot down.

Gareth aka. Kit

On Sun 22/08/21 09:20 , "Bart via fpc-devel" sent:

Show quoted text 52 lines
On Sun, Aug 22, 2021 at 5:40 AM J. Gareth Moreton via fpc-devel wrote: > This is a problem I run into all the time Basically, the DLL is 64-bit > and hence is invalid in a 32-bit binary. This can be bypassd by > commenting out the "{$linklib common}" line in .\oracle\src\oraoci.pp Tha cannot be a real solution. Also, that line has been in that unit for at least 8 years AFAICS. But I have build fpc trunk several times in the past before, without such an error. And yes, I've built trunk with 3.2.2 as a starting compiler before. Since the last time I built trunk, the only change I made to my computer is installing a git client (commandline version). My windows is up to date. So, this baffles me. -- Bart _______________________________________________ fpc-devel maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply by email

Unknown author
to J. Gareth Moreton
J. Gareth Moreton wrote
It might be to do with the order that directories are searched. If it finds the 64-bit version ghost, then it will throw an error. I've requested to change the error to a warning instead in the post, but was shot down.

if that Common.dll file is only valid for 64bit windows builds, perhaps the better thing to do is to wrap the $linklib line in a check to see if you are building 64bit... if 64bit then loadlib otherwise, noop... seems logical at first glance but the question then is if one can determine the bitness of the current build in progress...

NOTE: No off-list assistance is given without prior approval. *Please keep mailing list traffic on the list where it belongs!*

Reply by email

Bart
to Unknown author
PM wkitty42--- wrote 5 lines
if that Common.dll file is only valid for 64bit windows builds, perhaps the better thing to do is to wrap the $linklib line in a check to see if you are building 64bit... if 64bit then loadlib otherwise, noop... seems logical at first glance but the question then is if one can determine the bitness of the current build in progress...
Mind you that buidling the cross compiler (win32->64) works, but
AFAICS none of the other libraries are present on my system:
{$linklib clntsh}
{$linklib core4}
{$linklib nlsrtl3}
{$ifndef BSD}
{$linklib dl}
{$ENDIF}
{$linklib c}

Why does it not complain about either of these?

Bart

Reply by email