Hello,
I am trying to run the followingexample using emcc:
python runner.py test_dlfcn_funcs
I saved all the files created by "python runner.py test_dlfcn_funcs" using
export EM_SAVE_DIR=1.
I set export EMCC_DEBUG=2 as well.
In folder /tmp/emscripten_temp I tried to recreate src.c.o.js using the
following invocation command:
emcc \
src.c.o \
-g \
-o src.c.o.js \
-s GL_DEBUG=0 \
-s EXCEPTION_CATCHING_WHITELIST="[]" \
-s INCLUDE_FULL_LIBRARY=0 \
-s FINALIZE_ASM_JS=1 \
-s RUNTIME_LINKED_LIBS="[]" \
-s LIBRARY_DEBUG=0 \
-s ASSERTIONS=1 \
-s USE_SDL_IMAGE=1 \
-s INLINING_LIMIT=0 \
-s MODULARIZE=0 \
-s NO_FILESYSTEM=0 \
-s SOCKET_WEBRTC=0 \
-s USE_PTHREADS=0 \
-s EXPORT_NAME="'Module'" \
-s AGGRESSIVE_VARIABLE_ELIMINATION=0 \
-s SIMPLIFY_IFS=1 \
-s ALIASING_FUNCTION_POINTERS=0 \
-s EMULATED_FUNCTION_POINTERS=0 \
-s EMSCRIPTEN_VERSION="''" \
-s OPENAL_DEBUG=0 \
-s NO_EXIT_RUNTIME=0 \
-s RELOCATABLE=0 \
-s PRECISE_F32=0 \
-s DEBUG_TAGS_SHOWING="[]" \
-s SAFE_HEAP_LOG=0 \
-s PROXY_TO_WORKER_FILENAME="''" \
-s NODE_STDOUT_FLUSH_WORKAROUND=1 \
-s QUANTUM_SIZE=4 \
-s PRECISE_I64_MATH=1 \
-s GLOBAL_BASE=-1 \
-s ASM_JS=2 \
-s WARN_UNALIGNED=0 \
-s EMULATE_FUNCTION_POINTER_CASTS=0 \
-s TOTAL_STACK=5242880 \
-s EXPORTED_GLOBALS="[]" \
-s RESERVED_FUNCTION_POINTERS=0 \
-s EXCEPTION_DEBUG=0 \
-s FUNCTION_POINTER_ALIGNMENT=2 \
-s SHELL_FILE=0 \
-s CLOSURE_COMPILER=0 \
-s GL_ASSERTIONS=0 \
-s BOOTSTRAPPING_STRUCT_INFO=0 \
-s MEM_INIT_METHOD=0 \
-s GL_TESTING=0 \
-s DETERMINISTIC=0 \
-s SAFE_HEAP=0 \
-s DEAD_FUNCTIONS="[]" \
-s GL_FFP_ONLY=0 \
-s EMSCRIPTEN_TRACING=0 \
-s OPT_LEVEL=0 \
-s MEMFS_APPEND_TO_TYPED_ARRAYS=0 \
-s NO_DYNAMIC_EXECUTION=0 \
-s BUILD_AS_WORKER=0 \
-s EXPORT_ALL=0 \
-s EMTERPRETIFY_ADVISE=0 \
-s VERBOSE=0 \
-s DISABLE_EXCEPTION_CATCHING=0 \
-s LIBRARY_DEPS_TO_AUTOEXPORT="['memcpy']" \
-s EMTERPRETIFY_WHITELIST="[]" \
-s SKIP_STACK_IN_SMALL=1 \
-s EMTERPRETIFY_ASYNC=0 \
-s FULL_ES2=0 \
-s FULL_ES3=0 \
-s USE_WEBGL2=0 \
-s PROXY_TO_WORKER=0 \
-s UNALIGNED_MEMORY=0 \
-s SWAPPABLE_ASM_MODULE=0 \
-s ASYNCIFY=0 \
-s TOTAL_MEMORY=16777216 \
-s USE_LIBPNG=0 \
-s SOCKET_DEBUG=0 \
-s EXPLICIT_ZEXT=0 \
-s FORCE_ALIGNED_MEMORY=0 \
-s HEADLESS=0 \
-s USE_SDL=1 \
-s MAIN_MODULE=1 \
-s ASYNCIFY_WHITELIST="['qsort', 'trinkle', '__toread', '__uflow',
'__fwritex', 'MUSL_vfprintf']" \
-s WEBSOCKET_URL="'ws:#'" \
-s EMTERPRETIFY=0 \
-s DEBUG_LEVEL=0 \
-s SMALL_XHR_CHUNKS=0 \
-s USE_GLFW=2 \
-s WARN_ON_UNDEFINED_SYMBOLS=1 \
-s ORIGINAL_EXPORTED_FUNCTIONS="[]" \
-s DEMANGLE_SUPPORT=0 \
-s RUNNING_JS_OPTS=0 \
-s WEBSOCKET_SUBPROTOCOL="'binary'" \
-s INVOKE_RUN=1 \
-s PTHREAD_HINT_NUM_CORES=4 \
-s PTHREAD_POOL_SIZE=0 \
-s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE="['memcpy', 'memset', 'malloc',
'free', 'strlen', '$Browser']" \
-s EXPORT_FUNCTION_TABLES=0 \
-s SIDE_MODULE=0 \
-s GL_MAX_TEMP_BUFFER_SIZE=2097152 \
-s FS_LOG=0 \
-s STB_IMAGE=0 \
-s EXPORT_BINDINGS=0 \
-s PGO=0 \
-s IN_TEST_HARNESS=0 \
-s ASYNCIFY_FUNCTIONS="['emscripten_sleep', 'emscripten_wget',
'emscripten_yield']" \
-s EMTERPRETIFY_BLACKLIST="[]" \
-s DOUBLE_MODE=1 \
-s LEGACY_GL_EMULATION=0 \
-s RETAIN_COMPILER_SETTINGS=0 \
-s EXPORTED_FUNCTIONS="['_main', '_malloc']" \
-s USE_TYPED_ARRAYS=2 \
-s SIMD=0 \
-s ALLOW_MEMORY_GROWTH=0 \
-s CASE_INSENSITIVE_FS=0 \
-s NO_BROWSER=0 \
-s USE_ZLIB=0 \
-s GL_UNSAFE_OPTS=1 \
-s BENCHMARK=0 \
-s LINKABLE=0 \
-s BUILD_AS_SHARED_LIB=0 \
-s ERROR_ON_UNDEFINED_SYMBOLS=0 \
-s OUTLINING_LIMIT=0 \
-s ASM_JS=2 \
--js-transform "/usr/bin/python /tmp/emscripten_temp/transform.py"
As a result file src.c.o.js (file A) created by "python runner.py
test_dlfcn_funcs" and the file src.c.o.js (file B) created by the above
invocation command are different.
If I run nodejs src.c.o.js everything is working fine when using file A.
However file B produce errors:
$ nodejs src.c.o.js
go xxxxxxxxxxxx
ggggggggggggggggggggggggggggggggggggggg /
go
/tmp/emscripten_temp/src.c.o.js:90
throw ex;
^
Assertion failed: lib_handle != NULL, at:
/tmp/emscripten_temp/src.c,24,main at Error
at jsStackTrace (/tmp/emscripten_temp/src.c.o.js:1235:13)
at stackTrace (/tmp/emscripten_temp/src.c.o.js:1252:22)
at ___assert_fail (/tmp/emscripten_temp/src.c.o.js:1715:210)
at _main (/tmp/emscripten_temp/src.c.o.js:28435:3)
at Object.asm._main (/tmp/emscripten_temp/src.c.o.js:47003:19)
at Object.callMain (/tmp/emscripten_temp/src.c.o.js:49900:30)
at doRun (/tmp/emscripten_temp/src.c.o.js:49958:60)
at run (/tmp/emscripten_temp/src.c.o.js:49972:5)
at Object.<anonymous> (/tmp/emscripten_temp/src.c.o.js:50061:1)
at Module._compile (module.js:456:26)
Could somebody explain me how to create src.c.o.js correclty without
running the test suite?
Thanks,
Laurent
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.