Hi Alon,
OK I see.
I will try to do more python debug on my side.
Thanks,
Laurent
PS: if you have a working example in the shell using dlfcn that would be great.


Le 27/07/2015 19:53, Alon Zakai a écrit :
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] <mailto:[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]
    <mailto:[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]
        <mailto:[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]
            <mailto:[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]
        <mailto:[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]
    <mailto:[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] <mailto:[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