2019-08-17 10:09 AM
Compilation of any project almost always ends with this post. If you run the compilation several times, sometimes success comes. Basically, an error occurs when compiling images. What can I configure to avoid this error?
0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x200000, State 0x10000
C:\TouchGFX\4.10.0\env\MinGW\msys\1.0\bin\echo.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
simulator/gcc/Makefile:238: recipe for target 'BitmapDatabase' failed
make[1]: *** [BitmapDatabase] Error 1
simulator/gcc/Makefile:32: recipe for target 'all' failed
make: *** [all] Error 2
Solved! Go to Solution.
2019-08-20 01:45 AM
That's greatm @ABELA!
2024-06-18 07:00 AM
Hi All,
I see that a solution here is rebasing a dll. However we did not want to do that for several reasons.
On further investigation, we are building on Windows 11, it appears that Windows Defender was the cause, using a mechanism called "Force Randomisation mechanism for Images", also known as ASLR
To fix this we needed to run PowerShell as Administrator and then run the following two commands
Be sure to change the path to match your own installation.
Get-ChildItem -Recurse -Path "C:\TouchGFX\4.24.0\env\MinGW\msys\1.0\bin\*.exe" | Foreach-Object -Process { Set-ProcessMitigation -Name $_.Name -Disable ForceRelocateImages
Get-ChildItem -Recurse -Path "C:\TouchGFX\4.24.0\env\MinGW\msys\1.0\bin\*.exe" | Foreach-Object -Process { Set-ProcessMitigation -Name $_.Name -Disable BottomUp }
The result of this is that the ASLR process is disabled for the specific executables contained within the sensitive directory, leaving the rest of the system protected.