At the end of the diff, it shows that
FS.createLazyFile('/', 'liblib.so', 'liblib.so', true, false);
is missing. In test_core.py, it looks like that is added by the post_build
operation, so I think that isn't running when you build it manually in the
shell.
On Sat, Jul 25, 2015 at 12:23 AM, Laurent Lemaitre <
[email protected]> wrote:
> Hi Alon,
> Attached are the two files.
> The diff gives many differences.
> Laurent
>
>
> 2015-07-24 19:49 GMT+02:00 Alon Zakai <[email protected]>:
>
>> 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.
>>
>
> --
> 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.