jart / blink

tiniest x86-64-linux emulator
ISC License
6.96k stars 222 forks source link

emscripten issue with 1.1 #171

Open belaviyo opened 4 months ago

belaviyo commented 4 months ago

Hi,

I get the following error when trying to compile on emscripten

emconfigure ./configure
emmake make -j4
/emsdk/upstream/emscripten/emcc -Wl,-z,noseparate-code -Wl,-z,norelro -Wl,-z,common-page-size=65536,-z,max-page-size=65536   o//blink/blinkenlights.o o//blink/blink.a o//third_party/libz/zlib.a  -lrt -lm  -o o//blink/blinkenlights
/emsdk/upstream/emscripten/emcc -Wl,-z,noseparate-code -Wl,-z,norelro -Wl,-z,common-page-size=65536,-z,max-page-size=65536   o//blink/blink.o o//blink/blink.a  -lrt -lm  -o o//blink/blink
wasm-ld: warning: unknown -z value: noseparate-code
wasm-ld: warning: unknown -z value: norelro
wasm-ld: warning: unknown -z value: common-page-size=65536
wasm-ld: warning: unknown -z value: max-page-size=65536
wasm-ld: warning: unknown -z value: noseparate-code
wasm-ld: warning: unknown -z value: norelro
wasm-ld: warning: unknown -z value: common-page-size=65536
wasm-ld: warning: unknown -z value: max-page-size=65536
wasm-ld: error: o//blink/blink.a(memorymalloc.o): undefined symbol: ResetJitPage
wasm-ld: error: o//blink/blink.a(memorymalloc.o): undefined symbol: ResetJitPage
wasm-ld: error: o//blink/blink.a(memorymalloc.o): undefined symbol: ResetJitPage
wasm-ld: error: o//blink/blink.a(memorymalloc.o): undefined symbol: ResetJitPage
wasm-ld: error: o//blink/blink.a(memorymalloc.o): undefined symbol: ResetJitPage
wasm-ld: error: o//blink/blink.a(memorymalloc.o): undefined symbol: ResetJitPage
emcc: error: '/emsdk/upstream/bin/wasm-ld -o o//blink/blink.wasm -z noseparate-code -z norelro -z common-page-size=65536 -z max-page-size=65536 o//blink/blink.o o//blink/blink.a -L/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpb4jk8cxilibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__get_temp_ret --export=__set_temp_ret --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1)
emcc: error: '/emsdk/upstream/bin/wasm-ld -o o//blink/blinkenlights.wasm -z noseparate-code -z norelro -z common-page-size=65536 -z max-page-size=65536 o//blink/blinkenlights.o o//blink/blink.a o//third_party/libz/zlib.a -L/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpx5nikenklibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__get_temp_ret --export=__set_temp_ret --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1)
make: *** [blink/blink.mk:87: o//blink/blink] Error 1
make: *** Waiting for unfinished jobs....
make: *** [blink/blink.mk:122: o//blink/blinkenlights] Error 1
emmake: error: 'make -j4' failed (returned 2)
robalb commented 3 months ago

You will have less issues if you compile blinkenlights with as much features disabled as possible. This is working for me:

emconfigure ./configure --disable-all 

emmake make o//blink/blinkenlights.html