-
-
Notifications
You must be signed in to change notification settings - Fork 21k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LTO build failure on master branch with GCC 9.3.0 (warnings in Android/iOS plugin API and ICU codegen) #45179
Comments
There seems to be two types of warnings. The actual error is the one after CC @m4gr3d @naithar for the Android/iOS plugin issue and @bruvzg for the ICU issue. |
I can't reproduce it with |
I tested locally on Linux with GCC 10.2 and binutils 2.35.1 and a LTO build works fine for me, but I also have lots of Here's the full list of warnings. There are many problems with GDNative (@vnen) but I think #44989 will actually solve many (all?) of them.
|
Neither of these warnings should cause linking errors.
This kind of crashes usually happen when LTO runs out of memory, try increasing swap size or decreasing thread number. Test branch for fixing ICU warning: bruvzg@93d2a6d (works on macOS, will test it on Linux a bit later). Not sure whatš better, suppress the warning or modify a definition in the ICU source. ICU defines data entry point as 'DataHeader' structure, but actual data is much bigger (it begins with the 'DataHeader' structure). Only the address of the entry point is used in ICU code. |
This branch naithar@f91fde4 should be fixing But it seems like the error causing compilation to fail might actually be caused by OOM: https://stackoverflow.com/questions/30887143/make-j-8-g-internal-compiler-error-killed-program-cc1plus, like @bruvzg already mentioned. |
I also have the same problem with GCC (using this toolchain) on Windows 10, while compiling Mono version of editor, but crash includes a lot more Mono related errors, here's a crash log. |
For the reference, I have done some testing using Ubuntu 20.10 VM, GCC 10.2.0, LTO builds with
Memory usage peaks at about 10.2 GB. Update: Number of threads seems to be less relevant than I expected, it's still peaks at about 9.7 GB with LLVM LTO seems to be much less memory hungry, last time I have checked, it was working 4 GB VM. |
I have been building with -j4 for 2 hours and my Dell has been frozen for almost all the linking time. The documentation said that memory usage could be intensive, about 3Gb. I was terrified when $top showed that LTO hogged all of my swap (800Mb) and, uh, before it froze, 7.6 / 7.8 Gb RAM. So that must have been the reason. I'll try creating more swap and build it tomorrow. |
I'm also getting the error on windows but only when i use this command |
UpdateWith |
The reason is because of memory shortage (RAM and Swapfile). I add 20Gb swapfile and scons finished building target. It still trigger the PluginConfig warnings, though. Quoted from @bruvzg:
|
From the docs (https://docs.godotengine.org/en/latest/development/compiling/compiling_for_linuxbsd.html):
I guess documentation for the |
Godot version: 4
OS: Ubuntu 20.04.1LTS
Device: Dell Inspiron 3580, 64 bits, Intel core i7-8565U 1.80GHz, graphic card AMD Hainan / Mesa Intel UHD Graphics 620 (WHL GT2)
Issue description:
Compiled using gcc 9.3.0, scons version 3.1.2.
Building Godot with command:
$scons platform=linuxbsd -j7
produces a normal executable while
$scons platform=linuxbsd -j7 use_lto=yes
causes these errors to appear at linking time:
Steps to reproduce:
Cloning the current godot master branch and run
$scons platform=linuxbsd -j7 use_lto=yes
The text was updated successfully, but these errors were encountered: