Static linking broke in emscripten 3.1.52. Rolling back to 3.1.51 fixed compiling my project.
Build error:
cache:INFO: - ok
libretro_emscripten.bc:1:2: error: expected integer
1 | !<arch>
| ^
1 error generated.
emcc: error: '/usr/local/emscripten/upstream/bin/clang -target wasm32-unknown-emscripten -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --sysroot=/usr/local/emscripten/upstream/emscripten/cache/sysroot -DEMSCRIPTEN -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -O3 libretro_emscripten.bc -c -o /tmp/emscripten_temp_nl8mnmgj/libretro_emscripten_0.o' failed (returned 1)
make: *** [Makefile.emscripten:244: snes9x_libretro.js] Error 1
make: Leaving directory '/home/ethan/test/snes9x/libretro/RetroArch'
Emcc version:
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.52 (fa478400df3351f7153c0279bc638784d3d90334)
clang version 18.0.0git (https://github.com/llvm/llvm-project 0a3a0ea5914cb4633f4f4c14f1ddc46ce067061a)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /usr/local/emscripten/upstream/bin
Build it yourself:
git clone https://github.com/EmulatorJS/snes9x.git
cd snes9x/libretro
emmake make platform=emscripten
git clone https://github.com/EmulatorJS/RetroArch.git --depth 1
cp snes9x_libretro_emscripten.bc RetroArch/dist-scripts/
cd RetroArch/dist-scripts/
emmake ./dist-cores.sh emscripten
Note - I didn't need to recompile any blobs after rolling back to 3.1.51 for the project to compile. This appears to be an error with assertions?
Static linking broke in emscripten 3.1.52. Rolling back to 3.1.51 fixed compiling my project.
Build error:
cache:INFO: - ok libretro_emscripten.bc:1:2: error: expected integer 1 | !<arch> | ^ 1 error generated. emcc: error: '/usr/local/emscripten/upstream/bin/clang -target wasm32-unknown-emscripten -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --sysroot=/usr/local/emscripten/upstream/emscripten/cache/sysroot -DEMSCRIPTEN -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -O3 libretro_emscripten.bc -c -o /tmp/emscripten_temp_nl8mnmgj/libretro_emscripten_0.o' failed (returned 1) make: *** [Makefile.emscripten:244: snes9x_libretro.js] Error 1 make: Leaving directory '/home/ethan/test/snes9x/libretro/RetroArch'Emcc version:
Build it yourself:
git clone https://github.com/EmulatorJS/snes9x.gitcd snes9x/libretroemmake make platform=emscriptengit clone https://github.com/EmulatorJS/RetroArch.git --depth 1cp snes9x_libretro_emscripten.bc RetroArch/dist-scripts/cd RetroArch/dist-scripts/emmake ./dist-cores.sh emscriptenNote - I didn't need to recompile any blobs after rolling back to 3.1.51 for the project to compile. This appears to be an error with assertions?