When you run the test suite with EMCC_DEBUG=1, you should see the command
(in yellow, starting with "invocation:") and replicating it should produce
the same results. Is that what you are trying? For that test, there are at
least two commands that run, to build the main and side modules, so make
sure to build both.

If that doesn't help, diffing the two outputs might show something
interesting. (On latest emscripten incoming builds should now be
deterministic which makes such diffs easier to read.)


On Fri, Jul 24, 2015 at 7:44 AM, Laurent Lemaitre <
[email protected]> wrote:

> 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.
>

-- 
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.

Reply via email to