emcc: considering including libcxx: we need set(['_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev', '_ZNSt3__18ios_base5clearEj', '_ZNKSt3__18ios_base6getlocEv', '_ZNSt3__15ctypeIcE2idE', '_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_', '_ZNSt3__16localeD1Ev', '_ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEjc', '_ZNKSt3__16locale9use_facetERNS0_2idE', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc', '_ZNSt3__14coutE', '_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi']) and have set([])emcc: including libcxxemcc: building libcxx for cacheTraceback (most recent call last):File "/home/marcosscriven/sources/emscripten/emcc", line 1234, in <module>libfile = shared.Cache.get(name, create)File "/home/marcosscriven/sources/emscripten/tools/cache.py", line 37, in getshutil.copyfile(creator(), cachename)File "/home/marcosscriven/sources/emscripten/emcc", line 1176, in create_libcxxshared.Building.link(os, in_temp('libcxx.bc'))File "/home/marcosscriven/sources/emscripten/tools/shared.py", line 740, in linkif Building.is_bitcode(f):File "/home/marcosscriven/sources/emscripten/tools/shared.py", line 1117, in is_bitcodeb = open(filename, 'r').read(4)IOError: [Errno 2] No such file or directory: '/tmp/tmpB2IgJi/stdexcept.cpp.o'
EMCC_DEBUG=1 em++ main.cpp -v -I ~/sources/includes/ -g
emcc running: /usr/local/bin/clang++ -std=c++11 -m32 -U__i386__ -U__x86_64__ -U__i386 -U__x86_64 -Ui386 -Ux86_64 -U__SSE__ -U__SSE2__ -U__MMX__ -UX87_DOUBLE_ROUNDING -UHAVE_GCC_ASM_FOR_X87 -DEMSCRIPTEN -U__STRICT_ANSI__ -U__CYGWIN__ -D__STDC__ -Xclang -triple=i386-pc-linux-gnu -D__IEEE_LITTLE_ENDIAN -fno-math-errno -fno-ms-compatibility -nostdinc -Xclang -nobuiltininc -Xclang -nostdsysteminc -Xclang -isystem/home/marcosscriven/sources/emscripten/system/local/include -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/libcxx -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/emscripten -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/bsd -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/libc -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/gfx -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/net -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/SDL -U__APPLE__ -U__linux__ -emit-llvm -c /home/marcosscriven/sources/emscripten/system/lib/libcxx/exception.cpp -o /tmp/tmpNozl7i/exception_0.oIn file included from /home/marcosscriven/sources/emscripten/system/lib/libcxx/exception.cpp:31:In file included from /usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/cxxabi.h:49:In file included from /usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/i686-linux-gnu/bits/c++config.h:414:/usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/i686-linux-gnu/bits/os_defines.h:45:19: error: token is not a valid binary operator in a preprocessorsubexpression#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
emcc invocation: /home/marcosscriven/sources/emscripten/emcc /home/marcosscriven/sources/emscripten/system/lib/libcxx/stdexcept.cpp -o /tmp/tmpJrL2pM/stdexcept.cpp.o -std=c++11(Emscripten: Running sanity checks)emcc: compiling to bitcodeemcc: compiling source file: /home/marcosscriven/sources/emscripten/system/lib/libcxx/stdexcept.cppemcc running: /usr/local/bin/clang++ -std=c++11 -m32 -U__i386__ -U__x86_64__ -U__i386 -U__x86_64 -Ui386 -Ux86_64 -U__SSE__ -U__SSE2__ -U__MMX__ -UX87_DOUBLE_ROUNDING -UHAVE_GCC_ASM_FOR_X87 -DEMSCRIPTEN -U__STRICT_ANSI__ -U__CYGWIN__ -D__STDC__ -Xclang -triple=i386-pc-linux-gnu -D__IEEE_LITTLE_ENDIAN -fno-math-errno -fno-ms-compatibility -nostdinc -Xclang -nobuiltininc -Xclang -nostdsysteminc -Xclang -isystem/home/marcosscriven/sources/emscripten/system/local/include -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/libcxx -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/emscripten -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/bsd -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/libc -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/gfx -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/net -Xclang -isystem/home/marcosscriven/sources/emscripten/system/include/SDL -U__APPLE__ -U__linux__ -emit-llvm -c /home/marcosscriven/sources/emscripten/system/lib/libcxx/stdexcept.cpp -o /tmp/tmpvCw_SJ/stdexcept_0.oIn file included from /home/marcosscriven/sources/emscripten/system/lib/libcxx/stdexcept.cpp:26:
In file included from /usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/cxxabi.h:49:In file included from /usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/i686-linux-gnu/bits/c++config.h:414:/usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/i686-linux-gnu/bits/os_defines.h:45:19: error: token is not a valid binary operator in a preprocessorsubexpression#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
~~~~~~~~~~~~~~^1 error generated.emcc: compiler frontend failed to generate LLVM bitcode, halting
In file included from /usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/cxxabi.h:49:In file included from /usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/i686-linux-gnu/bits/c++config.h:414:/usr/lib/gcc/i686-linux-gnu/4.7/../../../../include/c++/4.7/i686-linux-gnu/bits/os_defines.h:45:19: error: token is not a valid binary operator in a preprocessorsubexpression#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
--
#elif defined(LIBCXXRT) || __has_include(<cxxabi.h>)#include <cxxabi.h>
--
Found the issue.
Found the issue.Had to manually add -nostdinc++
--
# Note that -nostdinc++ is not needed, since -nostdinc implies that!
/home/marcosscriven/sources/boostipc/boosttest/a.out.js:144806throw e;^wcslen not implemented
std::size_t namelen = std::char_traits<CharT>::length(name);