gcc 10 build fail
Jackson-soft opened this issue · 6 comments
❯ ninja -f ninja/linux.ninja
[0/3] cd 3rd/bee.lua && ninja -f ninja/linux.ninja
[2/2] build/linux/bin/bootstrap test/test.lua
FAILED: build/linux//test
build/linux/bin/bootstrap test/test.lua
OS: Linux
Arch: 64
Compiler: GCC 10.1.0
CRT: libstdc++ 20200507
DEBUG: false
....
ninja: build stopped: subcommand failed.
FAILED: build/linux//bee
cd 3rd/bee.lua && ninja -f ninja/linux.ninja
ninja: build stopped: subcommand failed.
This is a gcc bug.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96040
That bug is supposed to be fixed in 10.2:
luamake@stitny (master)$ ninja -v -f ninja/linux.ninja
[0/3] cd 3rd/bee.lua && ninja -f ninja/linux.ninja
[2/2] build/linux/bin/bootstrap test/test.lua
FAILED: build/linux/_/test
build/linux/bin/bootstrap test/test.lua
OS: Linux
Arch: 64
Compiler: GCC 10.2.1
CRT: libstdc++ 20201202 glibc 2.33
DEBUG: false
..............................................terminate called after throwing an instance of 'std::system_error'
what(): Enable multithreading to use std::thread: Operation not permitted
ninja: build stopped: subcommand failed.
FAILED: build/linux/_/bee
cd 3rd/bee.lua && ninja -f ninja/linux.ninja
ninja: build stopped: subcommand failed.
luamake@stitny (master)$
Well, but that warning means that there is a bug in luamake (Enable multithreading to use std::thread:
), doesn’t it?
No. As the bug report said, gcc cannot handle pthread_create
in dynamic libraries correctly.
It was enough to build luamake to:
cd 3rd/bee.lua/
git checkout master
git pull
ninja -vvv -f ninja/linux.ninja
..
ninja -vvv -f ninja/linux.ninja