我一直在尝试让 stellarium-web 运行(https://github.com/Stellarium/stellarium-web-engine)。
安装干净的 Ubuntu 18.04 后,在安装 scons 和 emscripten 后,“make js”命令仍然失败,出现一些(至少对我而言)不可读的错误,如下所示:
adminuser@ubuntu:~/stellarium-web-engine$ make js
emscons scons -j8 mode=release
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/erfa/erfa.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/erfa/erfa.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/inih/ini.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/inih/ini.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/json/json-builder.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/json/json-builder.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/json/json.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/json/json.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/md4c/entity.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/md4c/entity.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/md4c/md4c-html.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/md4c/md4c-html.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/md4c/md4c.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/md4c/md4c.c
/home/adminuser/emsdk/upstream/emscripten/tools/scons/site_scons/site_tools/emscripten/../../../../../emcc -o build/ext_src/nanovg/nanovg.o -c -Wall -std=gnu11 -Wno-unknown-pragmas -D_GNU_SOURCE -Wno-missing-braces -DHAVE_UNISTD_H -DMD4C_USE_UTF8 -Werror -DNDEBUG -include config.h -Wno-initializer-overrides -DNO_LIBCURL -DNO_ARGP "-DGLES2 1" -s MODULARIZE=1 -s EXPORT_NAME=StelWebEngine -s ALLOW_MEMORY_GROWTH=1 -s ALLOW_TABLE_GROWTH=1 --pre-js src/js/pre.js --pre-js src/js/obj.js --pre-js src/js/geojson.js --pre-js src/js/canvas.js -s STRICT=1 -s RESERVED_FUNCTION_POINTERS=10 -O3 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_FUNCTIONS=[]" -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ALLOC_NORMAL','GL','UTF8ToString','_free','_malloc','addFunction','allocate','ccall','cwrap','getValue','intArrayFromString','lengthBytesUTF8','removeFunction','setValue','stringToUTF8','writeAsciiToMemory','writeArrayToMemory']" -s FILESYSTEM=0 -Isrc -Iext_src/erfa -Iext_src/json -Iext_src/uthash -Iext_src/stb -Iext_src/zlib -Iext_src/inih -Iext_src/nanovg -Iext_src/md4c -Iext_src/webp -Iext_src/webp/src ext_src/nanovg/nanovg.c
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
emcc: error: legacy setting used in strict mode: RESERVED_FUNCTION_POINTERS
scons: *** [build/ext_src/nanovg/nanovg.o] Error 1
scons: *** [build/ext_src/json/json-builder.o] Error 1
scons: *** [build/ext_src/md4c/md4c-html.o] Error 1
scons: *** [build/ext_src/json/json.o] Error 1
scons: *** [build/ext_src/erfa/erfa.o] Error 1
scons: *** [build/ext_src/md4c/entity.o] Error 1
scons: *** [build/ext_src/md4c/md4c.o] Error 1
scons: *** [build/ext_src/inih/ini.o] Error 1
scons: building terminated because of errors.
Makefile:6: recipe for target 'js' failed
make: *** [js] Error 2
谁能指出我正确的方向?提前非常感谢 Ansgar