Confused about: warning: no output file specified, not emitting output

71 views
Skip to first unread message

Remigijus Pankevičius

unread,
Nov 7, 2020, 9:49:35 AM11/7/20
to emscripten-discuss
Hi,

I've copied 2 files benchmark_utf8.cpp and utf8_corpus.txt from Emscripten test suite to a separate folder and I'm getting this strange warning when compiling:

Command:
emcc benchmark_utf8.cpp -s "EXTRA_EXPORTED_RUNTIME_METHODS=['UTF8ToString']" --emit-symbol-map -o benchmark_utf8-wasm-with-semit-symbol-map.html --embed-file utf8_corpus.txt -g4

Output:
emcc:WARNING: Wasm source map won't be usable in a browser without --source-map-base
warning: no output file specified, not emitting output


Remigijus Pankevičius

unread,
Nov 8, 2020, 7:23:44 AM11/8/20
to emscripten-discuss
With  EMCC_DEBUG  environment variable set to 1 and adding  --source-map-base  param to get rid of first warning I see the warning occurs during  handle_final_wasm_symbols  step.

What does it mean? 

building:DEBUG: handle_final_wasm_symbols
warning: no output file specified, not emitting output

C:\~src\Emscripten\play1\benchmarks\with-syms>set EMCC_DEBUG=1

C:\~src\Emscripten\play1\benchmarks\with-syms>emcc benchmark_utf8.cpp -s "EXTRA_EXPORTED_RUNTIME_METHODS=['UTF8ToString']" --emit-symbol-map --source-map-base http://localhost:8080/benchmarks/with-syms/ -o benchmark_utf8-wasm-with-semit-symbol-map.html --embed-file utf8_corpus.txt -g4
shared:DEBUG: EM_CONFIG is located in C:\~src\Emscripten\emsdk\.emscripten
emcc:WARNING: invocation: C:\~src\Emscripten\emsdk\upstream\emscripten\\emcc.py benchmark_utf8.cpp -s EXTRA_EXPORTED_RUNTIME_METHODS=['UTF8ToString'] --emit-symbol-map --source-map-base http://localhost:8080/benchmarks/with-syms/ -o benchmark_utf8-wasm-with-semit-symbol-map.html --embed-file utf8_corpus.txt -g4  (in C:\~src\Emscripten\play1\benchmarks\with-syms)
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream/bin\clang.exe --version
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/node/12.18.1_64bit/bin/node.exe --version
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream/bin\llc.exe --version
shared:INFO: (Emscripten: Running sanity checks)
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/node/12.18.1_64bit/bin/node.exe -e console.log("hello")
emcc:DEBUG: compiling to bitcode
emcc:DEBUG: emcc step "parse arguments and setup" took 0.59 seconds
cache:DEBUG: PID 20208 acquiring multiprocess file lock to Emscripten cache at C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm
cache:DEBUG: done
emcc:DEBUG: compiling source file: benchmark_utf8.cpp
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream/bin\clang++.exe -target wasm32-unknown-emscripten -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=8 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -Xclang -nostdsysteminc -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include\libcxx -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\lib\libcxxabi\include -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include\compat -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include\libc -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\lib\libc\musl\arch\emscripten -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\local\include -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include\SSE -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include\neon -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\lib\compiler-rt\include -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\lib\libunwind\include -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\include -DEMSCRIPTEN -fignore-exceptions -o benchmark_utf8-wasm-with-semit-symbol-map.html -g benchmark_utf8.cpp -Xclang -isystemC:\~src\Emscripten\emsdk\upstream\emscripten\system\include\SDL -c -o C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8_0.o -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr
emcc:DEBUG: emcc step "compile inputs" took 1.00 seconds
emcc:DEBUG: emcc step "process inputs" took 0.00 seconds
shared:DEBUG: executed C:/~src/Emscripten/emsdk/upstream/bin\llvm-nm.exe C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8_0.o
system_libs:DEBUG: including libc (libc.a)
system_libs:DEBUG: including libcompiler_rt (libcompiler_rt.a)
system_libs:DEBUG: including libc++ (libc++-noexcept.a)
system_libs:DEBUG: including libc++abi (libc++abi-noexcept.a)
system_libs:DEBUG: including libmalloc (libdlmalloc.a)
system_libs:DEBUG: including libpthread (libpthread_stub.a)
system_libs:DEBUG: including libc_rt_wasm (libc_rt_wasm.a)
system_libs:DEBUG: including libsockets (libsockets.a)
emcc:DEBUG: emcc step "calculate system libraries" took 0.05 seconds
emcc:DEBUG: linking: ['C:\\Users\\(my-user-name)\\AppData\\Local\\Temp\\emscripten_temp\\benchmark_utf8_0.o', '-LC:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\system\\local\\lib', '-LC:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\system\\lib', '-LC:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libc.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libcompiler_rt.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libc++-noexcept.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libc++abi-noexcept.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libdlmalloc.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libpthread_stub.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libc_rt_wasm.a', 'C:\\~src\\Emscripten\\emsdk\\upstream\\emscripten\\cache\\wasm\\libsockets.a']
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream/bin\wasm-ld.exe -o C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8_0.o -LC:\~src\Emscripten\emsdk\upstream\emscripten\system\local\lib -LC:\~src\Emscripten\emsdk\upstream\emscripten\system\lib -LC:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libc.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libcompiler_rt.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libc++-noexcept.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libc++abi-noexcept.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libdlmalloc.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libpthread_stub.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libc_rt_wasm.a C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm\libsockets.a -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined --import-memory --export-table --export main --export stackSave --export stackRestore --export stackAlloc --export __data_end --export __wasm_call_ctors --export fflush --export __errno_location --export malloc --export free -z stack-size=5242880 --initial-memory=16777216 --no-entry --max-memory=16777216 --global-base=1024
emcc:DEBUG: emcc step "link" took 0.05 seconds
emcc:DEBUG: LLVM => JS
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-0-base.wasm
shared:DEBUG: EM_CONFIG is located in C:\~src\Emscripten\emsdk\.emscripten
wasm-sourcemap:DEBUG: Reading DWARF information from C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm
wasm-sourcemap:DEBUG: Read sections index
wasm-sourcemap:DEBUG: Saving to C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm.map
wasm-sourcemap:DEBUG: Done
shared:DEBUG: successfully executed C:\~src\Emscripten\emsdk\python\3.7.4-pywin32_64bit\python.exe C:\~src\Emscripten\emsdk\upstream\emscripten\tools\wasm-sourcemap.py C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm --dwarfdump=C:/~src/Emscripten/emsdk/upstream/bin\llvm-dwarfdump.exe -o C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm.map --basepath=C:\~src\Emscripten\play1\benchmarks\with-syms
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-1-base_wasm.map
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream\bin\wasm-opt.exe --version
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream\bin\wasm-emscripten-finalize --detect-features --minimize-wasm-changes --output-source-map-url=http://localhost:8080/benchmarks/with-syms/benchmark_utf8-wasm-with-semit-symbol-map.wasm.map -g --dyncalls-i64 --global-base=1024 --dwarf C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm -o C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm --input-source-map=C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm.map --output-source-map=C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm.map
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-2-wasm-emscripten-finalize.wasm
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-3-post_finalize.wasm
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-4-post_finalize.map
emscripten:DEBUG: Metadata parsed: {'asmConsts': {'1024': ['{ var t0 = _emscripten_get_now(); var str = '
                        'Module.UTF8ToString($0); var t1 = '
                        '_emscripten_get_now(); return (t1-t0); }',
                        ['dii'],
                        ['']]},
 'declares': ['emscripten_asm_const_double',
              '__assert_fail',
              'time',
              'emscripten_get_now',
              '__sys_open',
              'fd_close',
              '__sys_fcntl64',
              '__sys_ioctl',
              'fd_read',
              'fd_write',
              'abort',
              'emscripten_resize_heap',
              'emscripten_memcpy_big',
              'setTempRet0',
              'fd_seek'],
 'emJsFuncs': {},
 'exports': ['__wasm_call_ctors',
             'main',
             '__errno_location',
             'fflush',
             'free',
             'malloc',
             'stackSave',
             'stackRestore',
             'stackAlloc',
             'dynCall_jiji'],
 'externs': [],
 'features': [],
 'implementedFunctions': [],
 'initializers': ['___wasm_call_ctors'],
 'invokeFuncs': [],
 'mainReadsParams': 1,
 'namedGlobals': {'__data_end': '3848'},
 'simd': False,
 'staticBump': 2824,
 'tableSize': 9}
emscripten:DEBUG: emscript: js compiler glue
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/node/12.18.1_64bit/bin/node.exe C:\~src\Emscripten\emsdk\upstream\emscripten\src\compiler.js C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\tmpmcwnsimc.txt
emscripten:DEBUG:   emscript: glue took 0.2664790153503418 seconds
emscripten:DEBUG: stack_base: 5246736, stack_max: 3856, dynamic_base: 5246736, static bump: 2832
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-5-original.js
root:DEBUG: move: C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm -> C:\~src\Emscripten\play1\benchmarks\with-syms\benchmark_utf8-wasm-with-semit-symbol-map.wasm
root:DEBUG: move: C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm.map -> C:\~src\Emscripten\play1\benchmarks\with-syms\benchmark_utf8-wasm-with-semit-symbol-map.wasm.map
emcc:DEBUG: emcc step "emscript (llvm => executable code)" took 0.61 seconds
emcc:DEBUG: setting up files
shared:DEBUG: EM_CONFIG is located in C:\~src\Emscripten\emsdk\.emscripten
utf8_corpus.txt C:\~src\Emscripten\play1\benchmarks\with-syms\utf8_corpus.txt C:\~src\Emscripten\play1\benchmarks\with-syms
Packaging file "utf8_corpus.txt" to VFS in path "/utf8_corpus.txt".
shared:DEBUG: successfully executed C:\~src\Emscripten\emsdk\python\3.7.4-pywin32_64bit\python.exe C:\~src\Emscripten\emsdk\upstream\emscripten\tools\file_packager.py benchmark_utf8-wasm-with-semit-symbol-map.data --from-emcc --export-name=Module --embed utf8_corpus.txt
emcc:DEBUG: applying pre/postjses
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-6-pre-post.js
emcc:DEBUG: emcc step "source transforms" took 0.19 seconds
emcc:DEBUG: using binaryen
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-7-pre-byn.wasm
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream\bin\wasm-opt --strip-dwarf --strip-producers benchmark_utf8-wasm-with-semit-symbol-map.wasm -o benchmark_utf8-wasm-with-semit-symbol-map.wasm -g --mvp-features --input-source-map=benchmark_utf8-wasm-with-semit-symbol-map.wasm.map --output-source-map=benchmark_utf8-wasm-with-semit-symbol-map.wasm.map
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-8-wasm-opt.wasm
building:DEBUG: handle_final_wasm_symbols
warning: no output file specified, not emitting output
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/upstream\bin\wasm-opt --print-function-map benchmark_utf8-wasm-with-semit-symbol-map.wasm --mvp-features
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-9-symbolmap.js
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-10-symbolmap.wasm
emcc:DEBUG: emcc step "binaryen" took 0.08 seconds
emcc:DEBUG: Private module export name substitution with Module
building:DEBUG: saving debug copy C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\emcc-11-module_export_name_substitution.js
root:DEBUG: move: C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\benchmark_utf8-wasm-with-semit-symbol-map.wasm.js.pp.js.module_export_name_substitution.js -> C:\~src\Emscripten\play1\benchmarks\with-syms\benchmark_utf8-wasm-with-semit-symbol-map.js
emcc:DEBUG: generating HTML
shared:DEBUG: successfully executed C:/~src/Emscripten/emsdk/node/12.18.1_64bit/bin/node.exe C:\~src\Emscripten\emsdk\upstream\emscripten\tools/preprocessor.js C:\Users\(my-user-name)\AppData\Local\Temp\emscripten_temp\settings.js shell.html
emcc:DEBUG: emcc step "final emitting" took 0.16 seconds
cache:DEBUG: PID 20208 released multiprocess file lock to Emscripten cache at C:\~src\Emscripten\emsdk\upstream\emscripten\cache\wasm
emcc:DEBUG: total time: 2.14 seconds

Sam Clegg

unread,
Nov 10, 2020, 12:29:58 PM11/10/20
to emscripte...@googlegroups.com
It looks like this message is coming from wasm-opt and is always printed when `--emit-symbol-map` is used.

Could you file a bug to get that warning removed from the stderr?

--
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 emscripten-disc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/6ca2bc3a-3df1-449c-bb60-7f4840bafaa6n%40googlegroups.com.

Remigijus Pankevičius

unread,
Nov 10, 2020, 1:59:24 PM11/10/20
to emscripte...@googlegroups.com

You received this message because you are subscribed to a topic in the Google Groups "emscripten-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/emscripten-discuss/cyL-iSbhE54/unsubscribe.
To unsubscribe from this group and all its topics, send an email to emscripten-disc...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2_0tyw%3Dam%2BTfu-R-o-KieMDPyN81BNEPRBOVDi%3D7oX9QQ%40mail.gmail.com.

Remigijus Pankevičius

unread,
Nov 10, 2020, 2:28:06 PM11/10/20
to emscripten-discuss
The issue seems to be closed now, will verify tomorrow...

Remigijus Pankevičius

unread,
Nov 12, 2020, 2:35:56 PM11/12/20
to emscripten-discuss
How to verify it's closed?

I use these commands to update emsdk:
git clone https://github.com/emscripten-core/emsdk.git
emsdk install latest
emsdk activate latest

That's probably not "installing from sources".

How should I test it?

/r

Sam Clegg

unread,
Nov 13, 2020, 3:42:02 PM11/13/20
to emscripte...@googlegroups.com
To get the very latest emscripten run `./emsdk update-tags && ./emsdk install tot`.

Remigijus Pankevičius

unread,
Nov 16, 2020, 7:46:08 AM11/16/20
to emscripten-discuss
Thanks, it worked. I had to add:
./emsdk activate tot
Reply all
Reply to author
Forward
0 new messages