I suppose you added the sys.exit() call to early-out quit and avoid temporary directory from being removed? I think the temp directory cleanup is performed as an atexit handler, so it might be that sys.exit() still calls those and therefore the files could have been there, but got still erased. (just a hunch) So try double-check that to confirm. Another option could be to sleep for a minute or so instead of sys.exit, if you want to take a peek, or use EM_SAVE_DIR=1 environment variable to keep the files around.
Another debugging option to confirm that ar and bc files have not been confused with a wrong suffix is to go to where llvm-ar is invoked in emscripten, and after it fails, run Building.is_ar() and Building.is_bitcode() on that file, see https://github.com/kripken/emscripten/blob/master/tools/shared.py#L1428 and https://github.com/kripken/emscripten/blob/master/tools/shared.py#L1444 . That should give a definite answer as to what the files are. 2014/1/10 Floh <[email protected]> > The culprit seem to be that shutil.copyfile() isn't working on my vagrant > config. > > In emcc: > > elif file_ending.endswith(DYNAMICLIB_ENDINGS) or > shared.Building.is_ar(input_file): > logging.debug('copying library file: ' + input_file) > temp_file = in_temp(uniquename(input_file)) > shutil.copyfile(input_file, temp_file) > sys.exit("BLLLLLLAAAAAAAA: from: " + input_file + " to: " + > temp_file); > temp_files.append(temp_file) > > the "sys.exit" is mine for debugging. After that statement exits, there is > nothing in /tmp. The output is as follows: > > BLLLLLLAAAAAAAA: from: foundation/libfoundation.a to: > /tmp/tmpYXfs1H/libfoundation_7.a > > I'll look deeper into the problem now. My config is: > > Host: OSX 10.9.1 > VM: Ubuntu Precise 64-bit > > emscripten and all required tools are installed in the VM, but my project > directory is shared with the host filesystem. > > Am Donnerstag, 9. Januar 2014 19:38:33 UTC+1 schrieb Floh: > >> Hmm could be, unfortunately that tmp file is gone after the build. The >> actual libfoundation.a *is* an archive, at least it starts with something >> like this: >> >> !<arch> >> #_LLVM_SYM_TAB_#1389292218 1000 1000 644 135457 >> >> But the temp file which throws the error is gone. Wasn't there some debug >> option where tmp files are not deleted after the build is finished? >> >> I'll try the vagrant setup mentioned in the Wiki tomorrow ( >> https://github.com/rhelmer/emscripten-vagrant), and see if that works. >> >> Cheers, >> -Floh. >> >> Am Donnerstag, 9. Januar 2014 18:57:44 UTC+1 schrieb jj: >> >>> This sounds like the file is not an archive file. Perhaps it's an LLVM >>> bitcode (.bc) file instead with just an .a suffix? >>> >>> >>> 2014/1/9 Floh <[email protected]> >>> >>>> I'm currently trying to setup a Linux dev-env for emscripten (Ubuntu >>>> Precise 64-bit, running in Virtual Box on OSX), and I'm getting an error >>>> which I haven't seen yet on my OSX setup when linking: >>>> >>>> [218/218] Linking CXX shared library /home/vagrant/nebula3/bin/ >>>> emsc/libworker_asmjs.js >>>> /home/vagrant/clang-3.2/bin/llvm-ar: error loading >>>> '/tmp/tmp1Nnzep/libfoundation_7.a': invalid file member signature! >>>> /home/vagrant/clang-3.2/bin/llvm-ar: error loading >>>> '/tmp/tmp1Nnzep/libZLIB_8.a': invalid file member signature! >>>> >>>> Anyone seen this error and knows what's the problem? >>>> >>>> Cheers, >>>> -Floh. >>>> >>>> -- >>>> 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/groups/opt_out. >>>> >>> >>> -- > 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/groups/opt_out. > -- 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/groups/opt_out.
