What does it print if you do export EMCC_DEBUG=1 and export EM_BUILD_VERBOSE=3 before the call to emcc?
2014-06-03 15:35 GMT+03:00 Todd Fleming <[email protected]>: > They all do the same thing. I shortened it down to just this, which still > invokes /usr/bin/ld: > > $ emcc -v conftest.c > clang version 3.3 > Target: x86_64-unknown-linux-gnu > Thread model: posix > "/home/todd/emscripten-fastcomp/build/bin/clang-3.3" -cc1 -triple > x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free > -disable-llvm-verifier -main-file-name conftest.c -mrelocation-model static > -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases > -munwind-tables -fuse-init-array -target-cpu x86-64 -v -nostdsysteminc > -nobuiltininc -resource-dir > /home/todd/emscripten-fastcomp/build/bin/../lib/clang/3.3 -D __EMSCRIPTEN__ > -D EMSCRIPTEN -fdebug-compilation-dir /home/todd/try2/mpfr-3.1.1 > -ferror-limit 19 -fmessage-length 155 -mstackrealign -fobjc-runtime=gcc > -fobjc-default-synthesize-properties -fdiagnostics-show-option > -fcolor-diagnostics -backend-option -vectorize-loops -nobuiltininc > -nostdsysteminc -isystem/home/todd/emscripten/system/local/include > -isystem/home/todd/emscripten/system/include/compat > -isystem/home/todd/emscripten/system/include > -isystem/home/todd/emscripten/system/include/emscripten > -isystem/home/todd/emscripten/system/include/bsd > -isystem/home/todd/emscripten/system/include/libc > -isystem/home/todd/emscripten/system/include/gfx > -isystem/home/todd/emscripten/system/include/net > -isystem/home/todd/emscripten/system/include/SDL > -isystem/home/todd/emscripten/system/include/libcxx -o > /tmp/conftest-tJDHqi.o -x c conftest.c > clang -cc1 version 3.3 based upon LLVM 3.3svn default target > x86_64-unknown-linux-gnu > ignoring nonexistent directory "/home/todd/emscripten/system/local/include" > ignoring nonexistent directory "/home/todd/emscripten/system/include/bsd" > ignoring nonexistent directory "/home/todd/emscripten/system/include/net" > #include "..." search starts here: > #include <...> search starts here: > /home/todd/emscripten/system/include/compat > /home/todd/emscripten/system/include > /home/todd/emscripten/system/include/emscripten > /home/todd/emscripten/system/include/libc > /home/todd/emscripten/system/include/gfx > /home/todd/emscripten/system/include/SDL > /home/todd/emscripten/system/include/libcxx > End of search list. > "/usr/bin/ld" --eh-frame-hdr -m elf_x86_64 -dynamic-linker > /lib64/ld-linux-x86-64.so.2 -o a.out > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o > /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o > -L/usr/lib/gcc/x86_64-linux-gnu/4.8 > -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu > -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu > -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -L/lib -L/usr/lib > /tmp/conftest-tJDHqi.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc > --as-needed -lgcc_s --no-as-needed > /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o > /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o > /tmp/conftest-tJDHqi.o: In function `main': > conftest.c:(.text+0x12): undefined reference to `__gmpz_init' > clang-3.3: error: linker command failed with exit code 1 (use -v to see > invocation) > > > On Tuesday, June 3, 2014 7:51:20 AM UTC-4, jj wrote: > >> What happens if you do '-o conftest.js' or '-o conftest.bc' or '-o >> conftest.html' instead of just '-o conftest'? >> >> >> 2014-06-03 5:53 GMT+03:00 Todd Fleming <[email protected]>: >> >> I get this when trying to use libraries: >>> >>> $ emcc -o conftest -I/home/todd/try2/include -L/home/todd/try2/lib >>> conftest.c -lgmp >>> /home/todd/try2/lib/libgmp.so: file not recognized: File format not >>> recognized >>> clang-3.3: error: linker command failed with exit code 1 (use -v to see >>> invocation) >>> >>> >>> libgmp.so looks like the right type: >>> >>> $ file /home/todd/try2/lib/libgmp.so >>> /home/todd/try2/lib/libgmp.so: LLVM IR bitcode >>> >>> >>> The -v option reveals the culprit: >>> >>> $ emcc -v -o conftest -I/home/todd/try2/include -L/home/todd/try2/lib >>> conftest.c -lgmp >>> clang version 3.3 >>> Target: x86_64-unknown-linux-gnu >>> Thread model: posix >>> "/home/todd/emscripten-fastcomp/build/bin/clang-3.3" -cc1 -triple >>> x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free >>> -disable-llvm-verifier -main-file-name conftest.c -mrelocation-model static >>> -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases >>> -munwind-tables -fuse-init-array -target-cpu x86-64 -v -nostdsysteminc >>> -nobuiltininc -resource-dir /home/todd/emscripten- >>> fastcomp/build/bin/../lib/clang/3.3 -D __EMSCRIPTEN__ -D EMSCRIPTEN -I >>> /home/todd/try2/include -fdebug-compilation-dir /home/todd/try2/mpfr-3.1.1 >>> -ferror-limit 19 -fmessage-length 189 -mstackrealign -fobjc-runtime=gcc >>> -fobjc-default-synthesize-properties -fdiagnostics-show-option >>> -fcolor-diagnostics -backend-option -vectorize-loops -nobuiltininc >>> -nostdsysteminc -isystem/home/todd/emscripten/system/local/include >>> -isystem/home/todd/emscripten/system/include/compat >>> -isystem/home/todd/emscripten/system/include >>> -isystem/home/todd/emscripten/system/include/emscripten >>> -isystem/home/todd/emscripten/system/include/bsd >>> -isystem/home/todd/emscripten/system/include/libc >>> -isystem/home/todd/emscripten/system/include/gfx >>> -isystem/home/todd/emscripten/system/include/net >>> -isystem/home/todd/emscripten/system/include/SDL >>> -isystem/home/todd/emscripten/system/include/libcxx -o >>> /tmp/conftest-9LGfCY.o -x c conftest.c >>> clang -cc1 version 3.3 based upon LLVM 3.3svn default target >>> x86_64-unknown-linux-gnu >>> ignoring nonexistent directory "/home/todd/emscripten/system/ >>> local/include" >>> ignoring nonexistent directory "/home/todd/emscripten/system/ >>> include/bsd" >>> ignoring nonexistent directory "/home/todd/emscripten/system/ >>> include/net" >>> #include "..." search starts here: >>> #include <...> search starts here: >>> /home/todd/try2/include >>> /home/todd/emscripten/system/include/compat >>> /home/todd/emscripten/system/include >>> /home/todd/emscripten/system/include/emscripten >>> /home/todd/emscripten/system/include/libc >>> /home/todd/emscripten/system/include/gfx >>> /home/todd/emscripten/system/include/SDL >>> /home/todd/emscripten/system/include/libcxx >>> End of search list. >>> "/usr/bin/ld" --eh-frame-hdr -m elf_x86_64 -dynamic-linker >>> /lib64/ld-linux-x86-64.so.2 -o conftest /usr/lib/gcc/x86_64-linux-gnu/ >>> 4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/ >>> 4.8/../../../x86_64-linux-gnu/crti.o >>> /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o >>> -L/home/todd/try2/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8 >>> -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu >>> -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu >>> -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -L/lib -L/usr/lib >>> /tmp/conftest-9LGfCY.o -lgmp -lgcc --as-needed -lgcc_s --no-as-needed -lc >>> -lgcc --as-needed -lgcc_s --no-as-needed >>> /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o >>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o >>> /home/todd/try2/lib/libgmp.so: file not recognized: File format not >>> recognized >>> clang-3.3: error: linker command failed with exit code 1 (use -v to see >>> invocation) >>> >>> >>> /usr/bin/ld shouldn't be invoked, should it? >>> >>> This is a fresh checkout of emscripen, emscripten-fastcomp, >>> and emscripten-fastcomp-clang running on Ubuntu 14.04. >>> >>> Did I miss a key step in the build instructions? >>> >>> Todd >>> >>> -- > 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.
