stockfish.js
stockfish.js copied to clipboard
-fexperimental-new-pass-manager "unknown argument" in latest emcc
The flag below appears to be incompatible with the latest version of emcc.
make ARCH=wasm COMP=em++ all
make[1]: Entering directory '/home/ealfonso/git/stockfish.js/src'
em++ -D__NO_SYZYGY__ -Wall -Wcast-qual -fno-exceptions -std=c++17 -msimd128 -DPOSIXALIGNEDALLOC -Wno-pthreads-mem-growth -D__ENGINE_VERSION__=\""16.1 WASM Multithreaded"\" -DUSE_PTHREADS -DNDEBUG -O3 -funroll-loops -fexperimental-new-pass-manager -DIS_64BIT -DNO_PREFETCH -msse3 -DUSE_POPCNT -DUSE_SSE41 -msse4.1 -DUSE_SSSE3 -mssse3 -DUSE_SSE2 -msse2 -DGIT_SHA=2b2715b8 -DGIT_DATE=20240913 -DARCH=wasm -flto=full -c -o misc.o misc.cpp
clang++: error: unknown argument: '-fexperimental-new-pass-manager'
make[1]: *** [<builtin>: misc.o] Error 1
make[1]: Leaving directory '/home/ealfonso/git/stockfish.js/src'
make: *** [Makefile:905: build] Error 2
$
In src/Makefile
, I had to remove the lines below:
ifeq ($(shell expr $(clangmajorversion) \< 16),1)
CXXFLAGS += -fexperimental-new-pass-manager
endif
emcc --version
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 4.0.2 (7591f1c5ea0adf6f4293cfba2995ee9700aa0d93)
Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt)
This is free and open source software under the MIT license.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$