emscripten-core / emscripten

Emscripten: An LLVM-to-WebAssembly Compiler
Other
25.37k stars 3.25k forks source link

Regression: "LLVM ERROR: Index >= 0" crash when emitting JS #3088

Closed mjbshaw closed 9 years ago

mjbshaw commented 9 years ago

This is the real issue I wanted to report (but couldn't until I figured #3086 out).

Summary: When emitting JS, the compiler crashes with the error LLVM ERROR: Index >= 0. This happens with emscripten 1.28.0, but not emscripten 1.27.0.

If more information/testing is needed I'm happy to do it. I can do a git-bisect if needed but might need some instructions on how to make sure the emscripten/fastcomp/fastcomp-clang versions all match up during the bisect.

Full script to reproduce from scratch (I changed things so hopefully you don't need libtool/automake/etc):

#!/bin/sh
# Download MediaInfoLib and ZenLib
wget http://mediaarea.net/download/binary/mediainfo/0.7.71/MediaInfo_CLI_0.7.71_GNU_FromSource.tar.bz2
tar -xjf MediaInfo_CLI_0.7.71_GNU_FromSource.tar.bz2
cd MediaInfo_CLI_GNU_FromSource

# Download and build zlib
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -xzf zlib-1.2.8.tar.gz
mkdir Shared/Source
mv zlib-1.2.8 Shared/Source/zlib
cd Shared/Source/zlib
emconfigure ./configure --static --const
emmake make -j4
cd ../../..

# Build ZenLib
cd ZenLib/Project/GNU/Library/
emconfigure ./configure
emmake make -j4
cd ../../../..

# Build MediaInfoLib
cd MediaInfoLib/Project/GNU/Library
emconfigure ./configure --with-libz-static
emmake make -j4
cd ../../../../..

# Create the source file "mediainfojs.cpp"
echo '#include <emscripten/bind.h>
#include <MediaInfo/MediaInfo.h>
#include <string>

namespace js
{

MediaInfoLib::String inform(const std::string& data, double fileSize = 0)
{
    MediaInfoLib::MediaInfo mi;
    mi.Option(__T("Output"), __T("XML"));
    mi.Open((const ZenLib::int8u*)data.data(), data.size(), NULL, 0, (ZenLib::int64u)fileSize);
    return mi.Inform();
}

} // namespace js

EMSCRIPTEN_BINDINGS(my_module) {
    emscripten::function("inform", &js::inform);
}' > mediainfojs.cpp

# Build the source file mediainfojs.cpp
em++ -DUNICODE -std=c++11 -I MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Source -I MediaInfo_CLI_GNU_FromSource/ZenLib/Source --bind -c mediainfojs.cpp

# Link everything
em++ --bind --memory-init-file 1 -s TOTAL_MEMORY=67108864 mediainfojs.o MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a -o mediainfo.js

Error output (at the linking/JS code emitting step):

$ em++ --bind --memory-init-file 1 -s TOTAL_MEMORY=67108864 mediainfojs.o MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a -o mediainfo.js
LLVM ERROR: Index >= 0
Traceback (most recent call last):
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1657, in <module>
    _main(environ=os.environ)
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1645, in _main
    temp_files.run_and_clean(lambda: main(
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/tools/tempfiles.py", line 39, in run_and_clean
    return func()
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1653, in <lambda>
    DEBUG_CACHE=DEBUG_CACHE,
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1540, in main
    jcache=jcache, temp_files=temp_files, DEBUG=DEBUG, DEBUG_CACHE=DEBUG_CACHE)
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 798, in emscript_fast
    backend_output = open(temp_js).read()
IOError: [Errno 2] No such file or directory: '/tmp/tmpunHMhV.4.js'
Traceback (most recent call last):
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emcc", line 1287, in <module>
    final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args)
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/tools/shared.py", line 1509, in emscripten
    assert os.path.exists(filename + '.o.js'), 'Emscripten failed to generate .js'
AssertionError: Emscripten failed to generate .js

Full debug/verbose output:

$ EMCC_DEBUG=1 em++ -v --bind --memory-init-file 1 -s TOTAL_MEMORY=67108864 mediainfojs.o MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a -o mediainfo.js
DEBUG    root: PYTHON not defined in ~/.emscripten, using "/usr/local/opt/python/bin/python2.7"
DEBUG    root: PYTHON not defined in ~/.emscripten, using "/usr/local/opt/python/bin/python2.7"
WARNING  root: invocation: /usr/local/Cellar/emscripten/1.28.0/libexec/emcc -v --bind --memory-init-file 1 -s TOTAL_MEMORY=67108864 mediainfojs.o MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a -o mediainfo.js  (in /private/tmp/demo)
INFO     root: (Emscripten: Running sanity checks)
INFO     root: (Emscripten: Running sanity checks)
DEBUG    root: running lto for embind
DEBUG    root: compiling to bitcode
DEBUG    root: emcc step "parse arguments and setup" took 0.15 seconds
DEBUG    root: using bitcode file: mediainfojs.o
DEBUG    root: using library file: MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a
DEBUG    root: using library file: MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a
DEBUG    root: using library file: MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a
DEBUG    root: compiling source file: /usr/local/Cellar/emscripten/1.28.0/libexec/system/lib/embind/bind.cpp
DEBUG    root: running: /usr/local/opt/emscripten/libexec/llvm/bin/clang++ -target asmjs-unknown-emscripten -D__EMSCRIPTEN_major__=1 -D__EMSCRIPTEN_minor__=28 -D__EMSCRIPTEN_tiny__=0 -Werror=implicit-function-declaration -nostdinc -Xclang -nobuiltininc -Xclang -nostdsysteminc -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/local/include -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/compat -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/emscripten -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/libc -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/lib/libc/musl/arch/js -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/libcxx -v -std=c++11 -emit-llvm -c /usr/local/Cellar/emscripten/1.28.0/libexec/system/lib/embind/bind.cpp -o /tmp/tmpK8Ezyi/bind_0.o -Xclang -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/SDL
clang version 3.4 
Target: asmjs-unknown-emscripten
Thread model: posix
 "/usr/local/Cellar/emscripten/1.28.0/libexec/llvm/bin/clang" -cc1 -triple asmjs-unknown-emscripten -emit-llvm-bc -disable-free -disable-llvm-verifier -main-file-name bind.cpp -mrelocation-model static -mdisable-fp-elim -mconstructor-aliases -target-linker-version 241.9 -v -coverage-file /tmp/tmpK8Ezyi/bind_0.o -nostdsysteminc -nobuiltininc -resource-dir /usr/local/Cellar/emscripten/1.28.0/libexec/llvm/bin/../lib/clang/3.4 -D __EMSCRIPTEN_major__=1 -D __EMSCRIPTEN_minor__=28 -D __EMSCRIPTEN_tiny__=0 -Werror=implicit-function-declaration -std=c++11 -fdeprecated-macro -fno-dwarf-directory-asm -fdebug-compilation-dir /tmp/demo -ferror-limit 19 -fmessage-length 168 -mstackrealign -fobjc-runtime=gnustep -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-slp -nobuiltininc -nostdsysteminc -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/local/include -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/compat -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/emscripten -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/libc -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/lib/libc/musl/arch/js -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/libcxx -isystem/usr/local/Cellar/emscripten/1.28.0/libexec/system/include/SDL -o /tmp/tmpK8Ezyi/bind_0.o -x c++ /usr/local/Cellar/emscripten/1.28.0/libexec/system/lib/embind/bind.cpp
clang -cc1 version 3.4 based upon LLVM 3.4svn default target x86_64-apple-darwin13.4.0
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/local/include
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/include/compat
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/include
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/include/emscripten
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/include/libc
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/lib/libc/musl/arch/js
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/include/libcxx
 /usr/local/Cellar/emscripten/1.28.0/libexec/system/include/SDL
End of search list.
DEBUG    root: emcc step "bitcodeize inputs" took 0.39 seconds
DEBUG    root: emcc step "process inputs" took 0.00 seconds
DEBUG    root: will generate JavaScript
DEBUG    root: including libcxx
DEBUG    root: including libcextra
DEBUG    root: including libcxxabi
DEBUG    root: including libc
DEBUG    root: emcc step "calculate system libraries" took 1.85 seconds
DEBUG    root: linking: ['mediainfojs.o', 'MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a', 'MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a', 'MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a', '/tmp/tmpK8Ezyi/bind_0.o', '/Users/mbradshaw/.emscripten_cache/libcxx.bc', '/Users/mbradshaw/.emscripten_cache/libcextra.bc', '/Users/mbradshaw/.emscripten_cache/libcxxabi.bc', '/Users/mbradshaw/.emscripten_cache/libc.bc']
DEBUG    root: adding object /private/tmp/demo/mediainfojs.o to link
DEBUG    root: considering archive /private/tmp/demo/MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config_Automatic.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_File.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Inform.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Internal.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_7z.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ace.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Bzip2.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Elf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Gzip.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Iso9660.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mz.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Rar.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Tar.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Zip.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aac.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aac_GeneralAudio.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aac_GeneralAudio_Sbr.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aac_GeneralAudio_Sbr_Ps.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aac_Main.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aac_Others.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ac3.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Als.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Amr.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Amv.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ape.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Au.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dts.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DolbyE.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ExtendedModule.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Flac.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ImpulseTracker.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_La.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Midi.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Module.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpc.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_MpcSv8.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpega.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_OpenMG.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Rkau.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ScreamTracker3.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_SmpteSt0337.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Tak.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Tta.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_TwinVQ.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Wvpk.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/Export_EbuCore.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/Export_Mpeg7.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/Export_PBCore.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/Export_PBCore2.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ArriRaw.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Bmp.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dds.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dpx.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Exr.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Gif.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ico.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Jpeg.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pcx.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Png.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Psd.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Tiff.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Tga.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aaf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Bdmv.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Cdxa.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DashMpd.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DcpAm.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DcpCpl.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DcpPkl.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dpg.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DvDif.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DvDif_Analysis.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dvdv.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dxw.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Flv.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Gxf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Gxf_TimeCode.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_HdsF4m.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Hls.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ibi.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ibi_Creation.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ism.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ivf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Lxf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mk.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4_Descriptors.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4_Elements.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4_TimeCode.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_MpegPs.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_MpegTs.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_MpegTs_Duplicate.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mxf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Nut.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ogg.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ogg_SubElement.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_P2_Clip.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pmp.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ptx.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Riff.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Riff_Elements.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Rm.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_SequenceInfo.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Skm.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Swf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Umf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Wm.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Wm_Elements.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Xdcam_Clip.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/Reader_Directory.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/Reader_File.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Tags.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ApeTag.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Id3.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Id3v2.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Lyrics3.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Lyrics3v2.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_PropertyList.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_VorbisCom.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Cdp.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Cmml.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DvbSubtitle.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Kate.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_AribStdB24B37.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Eia608.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Eia708.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_N19.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_OtherText.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pdf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pgs.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Scc.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Sdp.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_SubRip.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Teletext.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_TimedText.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ttml.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Aic.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_AfdBarData.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Avc.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Avc_Duplicate.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_AvsV.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Canopus.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Dirac.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ffv1.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Flic.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Fraps.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Lagarith.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_H263.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Hevc.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_HuffYuv.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4v.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpegv.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ProRes.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Theora.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Vc1.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Vc3.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Vp8.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Y4m.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/tinyxml2.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Analyze.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Analyze_Buffer.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Analyze_Streams.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Analyze_Streams_Finish.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Base.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__MultipleParsing.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Duplicate.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Other.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Unknown.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config_MediaInfo.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/TimeCode.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Adpcm.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Celt.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_ChannelGrouping.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Opus.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pcm.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pcm_M2ts.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Pcm_Vob.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ps2Audio.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_SmpteSt0302.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_SmpteSt0331.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Speex.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Vorbis.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Duplicate__Writer.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Duplicate_MpegTs.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Rle.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__ReferenceFilesHelper.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Ancillary.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg_Descriptors.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Mpeg_Psi.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Xmp.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_DtvccTransport.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File_Scte20.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/aes_modes.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/aescrypt.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/aeskey.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/aestab.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/md5.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config_PerPackage.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_0/File__Duplicate__Base.o to link
DEBUG    root: done running loop of archive /private/tmp/demo/MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library/.libs/libmediainfo.a
DEBUG    root: considering archive /private/tmp/demo/MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Conf.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/CriticalSection.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Dir.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/File.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/FileName.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/InfoMap.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/int128u.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Translation.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Thread.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Utils.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Ztring.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/ZtringList.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/ZtringListList.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_1/Http_Utils.o to link
DEBUG    root: done running loop of archive /private/tmp/demo/MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library/.libs/libzen.a
DEBUG    root: considering archive /private/tmp/demo/MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/compress.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/uncompr.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/deflate.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/inflate.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/inftrees.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/trees.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/zutil.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/adler32.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/crc32.o to link
DEBUG    root: adding object /tmp/emscripten_temp/ar_output_51646_2/inffast.o to link
DEBUG    root: done running loop of archive /private/tmp/demo/MediaInfo_CLI_GNU_FromSource/Shared/Source/zlib/libz.a
DEBUG    root: adding object /tmp/tmpK8Ezyi/bind_0.o to link
DEBUG    root: adding object /Users/mbradshaw/.emscripten_cache/libcxx.bc to link
DEBUG    root: adding object /Users/mbradshaw/.emscripten_cache/libcextra.bc to link
DEBUG    root: adding object /Users/mbradshaw/.emscripten_cache/libcxxabi.bc to link
DEBUG    root: adding object /Users/mbradshaw/.emscripten_cache/libc.bc to link
DEBUG    root: emcc: llvm-linking: ['/private/tmp/demo/mediainfojs.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config_Automatic.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_File.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Inform.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Internal.o', '/tmp/emscripten_temp/ar_output_51646_0/File_7z.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ace.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Bzip2.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Elf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Gzip.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Iso9660.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mz.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Rar.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Tar.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Zip.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aac.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aac_GeneralAudio.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aac_GeneralAudio_Sbr.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aac_GeneralAudio_Sbr_Ps.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aac_Main.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aac_Others.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ac3.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Als.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Amr.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Amv.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ape.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Au.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dts.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DolbyE.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ExtendedModule.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Flac.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ImpulseTracker.o', '/tmp/emscripten_temp/ar_output_51646_0/File_La.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Midi.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Module.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpc.o', '/tmp/emscripten_temp/ar_output_51646_0/File_MpcSv8.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpega.o', '/tmp/emscripten_temp/ar_output_51646_0/File_OpenMG.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Rkau.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ScreamTracker3.o', '/tmp/emscripten_temp/ar_output_51646_0/File_SmpteSt0337.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Tak.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Tta.o', '/tmp/emscripten_temp/ar_output_51646_0/File_TwinVQ.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Wvpk.o', '/tmp/emscripten_temp/ar_output_51646_0/Export_EbuCore.o', '/tmp/emscripten_temp/ar_output_51646_0/Export_Mpeg7.o', '/tmp/emscripten_temp/ar_output_51646_0/Export_PBCore.o', '/tmp/emscripten_temp/ar_output_51646_0/Export_PBCore2.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ArriRaw.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Bmp.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dds.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dpx.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Exr.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Gif.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ico.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Jpeg.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pcx.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Png.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Psd.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Tiff.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Tga.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aaf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Bdmv.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Cdxa.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DashMpd.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DcpAm.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DcpCpl.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DcpPkl.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dpg.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DvDif.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DvDif_Analysis.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dvdv.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dxw.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Flv.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Gxf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Gxf_TimeCode.o', '/tmp/emscripten_temp/ar_output_51646_0/File_HdsF4m.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Hls.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ibi.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ibi_Creation.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ism.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ivf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Lxf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mk.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4_Descriptors.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4_Elements.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4_TimeCode.o', '/tmp/emscripten_temp/ar_output_51646_0/File_MpegPs.o', '/tmp/emscripten_temp/ar_output_51646_0/File_MpegTs.o', '/tmp/emscripten_temp/ar_output_51646_0/File_MpegTs_Duplicate.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mxf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Nut.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ogg.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ogg_SubElement.o', '/tmp/emscripten_temp/ar_output_51646_0/File_P2_Clip.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pmp.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ptx.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Riff.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Riff_Elements.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Rm.o', '/tmp/emscripten_temp/ar_output_51646_0/File_SequenceInfo.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Skm.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Swf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Umf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Wm.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Wm_Elements.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Xdcam_Clip.o', '/tmp/emscripten_temp/ar_output_51646_0/Reader_Directory.o', '/tmp/emscripten_temp/ar_output_51646_0/Reader_File.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Tags.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ApeTag.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Id3.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Id3v2.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Lyrics3.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Lyrics3v2.o', '/tmp/emscripten_temp/ar_output_51646_0/File_PropertyList.o', '/tmp/emscripten_temp/ar_output_51646_0/File_VorbisCom.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Cdp.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Cmml.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DvbSubtitle.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Kate.o', '/tmp/emscripten_temp/ar_output_51646_0/File_AribStdB24B37.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Eia608.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Eia708.o', '/tmp/emscripten_temp/ar_output_51646_0/File_N19.o', '/tmp/emscripten_temp/ar_output_51646_0/File_OtherText.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pdf.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pgs.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Scc.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Sdp.o', '/tmp/emscripten_temp/ar_output_51646_0/File_SubRip.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Teletext.o', '/tmp/emscripten_temp/ar_output_51646_0/File_TimedText.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ttml.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Aic.o', '/tmp/emscripten_temp/ar_output_51646_0/File_AfdBarData.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Avc.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Avc_Duplicate.o', '/tmp/emscripten_temp/ar_output_51646_0/File_AvsV.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Canopus.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Dirac.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ffv1.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Flic.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Fraps.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Lagarith.o', '/tmp/emscripten_temp/ar_output_51646_0/File_H263.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Hevc.o', '/tmp/emscripten_temp/ar_output_51646_0/File_HuffYuv.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg4v.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpegv.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ProRes.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Theora.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Vc1.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Vc3.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Vp8.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Y4m.o', '/tmp/emscripten_temp/ar_output_51646_0/tinyxml2.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Analyze.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Analyze_Buffer.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Analyze_Streams.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Analyze_Streams_Finish.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Base.o', '/tmp/emscripten_temp/ar_output_51646_0/File__MultipleParsing.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Duplicate.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Other.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Unknown.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config_MediaInfo.o', '/tmp/emscripten_temp/ar_output_51646_0/TimeCode.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Adpcm.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Celt.o', '/tmp/emscripten_temp/ar_output_51646_0/File_ChannelGrouping.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Opus.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pcm.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pcm_M2ts.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Pcm_Vob.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ps2Audio.o', '/tmp/emscripten_temp/ar_output_51646_0/File_SmpteSt0302.o', '/tmp/emscripten_temp/ar_output_51646_0/File_SmpteSt0331.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Speex.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Vorbis.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Duplicate__Writer.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Duplicate_MpegTs.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Rle.o', '/tmp/emscripten_temp/ar_output_51646_0/File__ReferenceFilesHelper.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Ancillary.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg_Descriptors.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Mpeg_Psi.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Xmp.o', '/tmp/emscripten_temp/ar_output_51646_0/File_DtvccTransport.o', '/tmp/emscripten_temp/ar_output_51646_0/File_Scte20.o', '/tmp/emscripten_temp/ar_output_51646_0/aes_modes.o', '/tmp/emscripten_temp/ar_output_51646_0/aescrypt.o', '/tmp/emscripten_temp/ar_output_51646_0/aeskey.o', '/tmp/emscripten_temp/ar_output_51646_0/aestab.o', '/tmp/emscripten_temp/ar_output_51646_0/md5.o', '/tmp/emscripten_temp/ar_output_51646_0/MediaInfo_Config_PerPackage.o', '/tmp/emscripten_temp/ar_output_51646_0/File__Duplicate__Base.o', '/tmp/emscripten_temp/ar_output_51646_1/Conf.o', '/tmp/emscripten_temp/ar_output_51646_1/CriticalSection.o', '/tmp/emscripten_temp/ar_output_51646_1/Dir.o', '/tmp/emscripten_temp/ar_output_51646_1/File.o', '/tmp/emscripten_temp/ar_output_51646_1/FileName.o', '/tmp/emscripten_temp/ar_output_51646_1/InfoMap.o', '/tmp/emscripten_temp/ar_output_51646_1/int128u.o', '/tmp/emscripten_temp/ar_output_51646_1/Translation.o', '/tmp/emscripten_temp/ar_output_51646_1/Thread.o', '/tmp/emscripten_temp/ar_output_51646_1/Utils.o', '/tmp/emscripten_temp/ar_output_51646_1/Ztring.o', '/tmp/emscripten_temp/ar_output_51646_1/ZtringList.o', '/tmp/emscripten_temp/ar_output_51646_1/ZtringListList.o', '/tmp/emscripten_temp/ar_output_51646_1/Http_Utils.o', '/tmp/emscripten_temp/ar_output_51646_2/compress.o', '/tmp/emscripten_temp/ar_output_51646_2/uncompr.o', '/tmp/emscripten_temp/ar_output_51646_2/deflate.o', '/tmp/emscripten_temp/ar_output_51646_2/inflate.o', '/tmp/emscripten_temp/ar_output_51646_2/inftrees.o', '/tmp/emscripten_temp/ar_output_51646_2/trees.o', '/tmp/emscripten_temp/ar_output_51646_2/zutil.o', '/tmp/emscripten_temp/ar_output_51646_2/adler32.o', '/tmp/emscripten_temp/ar_output_51646_2/crc32.o', '/tmp/emscripten_temp/ar_output_51646_2/inffast.o', '/tmp/tmpK8Ezyi/bind_0.o', '/Users/mbradshaw/.emscripten_cache/libcxx.bc', '/Users/mbradshaw/.emscripten_cache/libcextra.bc', '/Users/mbradshaw/.emscripten_cache/libcxxabi.bc', '/Users/mbradshaw/.emscripten_cache/libc.bc'] to /tmp/tmpK8Ezyi/mediainfo.bc
DEBUG    root: using response file for llvm-link
DEBUG    root: emcc step "link" took 8.57 seconds
DEBUG    root: saving intermediate processing steps to /tmp/emscripten_temp
DEBUG    root: emcc: LLVM opts: -strip-debug -disable-internalize -internalize -internalize-public-api-list=main,malloc,free,__cxa_can_catch,__cxa_is_pointer_type,malloc -std-link-opts -pnacl-abi-simplify-preopt -pnacl-abi-simplify-postopt -enable-emscripten-cxx-exceptions -disable-vectorize
DEBUG    root: emcc step "post-link" took 116.12 seconds
DEBUG    root: LLVM => JS
DEBUG    root: PYTHON not defined in ~/.emscripten, using "/usr/local/opt/python/bin/python2.7"
DEBUG    root: emscript: llvm backend: /usr/local/opt/emscripten/libexec/llvm/bin/llc /tmp/tmpK8Ezyi/mediainfo.bc -march=js -filetype=asm -o /tmp/emscripten_temp/tmpRxp1Th.4.js -emscripten-assertions=1 -emscripten-no-aliasing-function-pointers -O0 -emscripten-max-setjmps=20
LLVM ERROR: Index >= 0
DEBUG    root:   emscript: llvm backend took 1.92993116379 seconds
Traceback (most recent call last):
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1657, in <module>
    _main(environ=os.environ)
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1645, in _main
    temp_files.run_and_clean(lambda: main(
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/tools/tempfiles.py", line 39, in run_and_clean
    return func()
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1653, in <lambda>
    DEBUG_CACHE=DEBUG_CACHE,
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 1540, in main
    jcache=jcache, temp_files=temp_files, DEBUG=DEBUG, DEBUG_CACHE=DEBUG_CACHE)
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emscripten.py", line 798, in emscript_fast
    backend_output = open(temp_js).read()
IOError: [Errno 2] No such file or directory: '/tmp/emscripten_temp/tmpRxp1Th.4.js'
Traceback (most recent call last):
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/emcc", line 1287, in <module>
    final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args)
  File "/usr/local/Cellar/emscripten/1.28.0/libexec/tools/shared.py", line 1509, in emscripten
    assert os.path.exists(filename + '.o.js'), 'Emscripten failed to generate .js'
AssertionError: Emscripten failed to generate .js

Emscripten version:

$ em++ --version
emcc (Emscripten GCC-like replacement) 1.28.0 (commit c4df942cf63868b20049b92c0aff40c913e41da3)
Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt)
This is free and open source software under the MIT license.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
kripken commented 9 years ago

Thanks, fixed in https://github.com/kripken/emscripten-fastcomp/commit/f0413d97f47c8a61dc1ee12f674f6dd876363907

mjbshaw commented 9 years ago

Great, thank you!