Forum > General

I cannot build 64-bit IDE

(1/3) > >>

OS - Windows 10, 64 bit
I have FPC 3.2.2 stable installed with fpc installer, first 32-bit compiler, then 64-bit cross-compiler; they are installed in default path, as suggested by the installer (C:\FPC\3.2.2\bin\i386-win32).

I have Lazarus sources, current fixes branch, downloaded from git repository.

Now, I build Lazarus IDE 64-bit from command line:

--- Code: ---make clean all OS_TARGET=win64 CPU_TARGET=x86_64
--- End code ---
That passes without problems and I have 64-bit IDE.

But then I want to rebuild the IDE from the IDE build options dialog. It does not work.
If I just rebuild with "Normal IDE", I get 32-bit IDE instead of 64-bit.
If I set the combo boxes "Target OS" and "Target CPU" to Win64 and x86_64 (see the attached image), I get compiler error:

--- Code: ---Build IDE: Exit code 2, Errors: 1
Error: Illegal parameter: -Twin64

--- End code ---

Okay, I can work normally with 32-bit IDE, projects compile quite well to both 32-bit and 64-bit, when I create BuildModes and set appropriate options (see attached image), however, I would like the IDE itself also built as 64-bit application.

So, please, what am I doing wrong?

It seems that this is bug in IDE. I have tried to build the reverse: 32-bit IDE from official Lazarus for Win64 (which has 64-bit fpc) and Lazarus add-on for cross compiling for Win32, and have got the same error, only with -Twin32. Obviously, the -P<cpu_type> parameter is not passed to fpc when building IDE.

Try to build it with fpcupdeluxe. I have no problems with that. Also on windows 10 64.
For 64 bit it also installs a 64 bit bootstrap compiler

This is interesting!
Windows 11 is 64 bit only. I received a pushed update on Wednesday that rebooted my Windows development system before yesterday morning.  It would seem that MS is testing stopping 32 bit code generation to force developers to move to 64 bit exclusively.  They set the stage for that by announcing Windows 11 would be 64 bit only when it was announced.  They did this accidentally a number of years ago that forced 64 bit only code generation.  There was a registry entry that needed to be changed.  My guess is they are testing these flags before rolling out the release update.  Wednesday and Thursday push releases are pre-release versions for new features within 21 days of release. I expect more of this from MS over the upcoming months based on differences between Windows 10 and Windows 11.  The accompanying screen shows todays fpcupdeluxe error.  And I installed the current trunk in that directory when I had a 64 bit code generation problem from a prior test installation from last week. 

This is advice not to use cross-compiler from Win64 to Win32 because Windows 64 does not support Extended type (80-bit floating point), and to use native 32-bit compiler. See e.g.,59386.msg442731.html#msg442731.


[0] Message Index

[#] Next page

Go to full version