Skip to content

Not all precompiled builds exist for $CURRENT_VERSION #5713

Closed

Description

@saschanaz

./emsdk update-tags;./emsdk list does not show precompiled 1.37.22 emscripten or clang. What happened to the build system?

Activity

  1. juj commented on Oct 26, 2017

    @juj
    Collaborator

    The Windows build bot is in the process of being migrated to Amazon (the original physical hardware suffered a breakdown recently), so some turbulence is expected to occur here.

  2. bsokol commented on Nov 1, 2017

    @bsokol

    Any news about windows binaries? 1.37.22 was released 24 days ago,

  3. juj commented on Nov 1, 2017

    @juj
    Collaborator

    As of yesterday, we now have the Amazon migrated CI bot up and running, but it is not yet deploying builds. I am working on this as a I write, hopefully should not be too long.

  4. bsokol commented on Nov 22, 2017

    @bsokol

    Sorry to bother you, but Is there any chance for these binaries in the near future?

  5. saschanaz commented on Dec 4, 2017

    @saschanaz
    CollaboratorAuthor

    @juj is on vacation so some delay is expected.

  6. bsokol commented on Dec 15, 2017

    @bsokol

    Some news about windows binaries guys? :/ We are 3 versions behind main release :/

  7. kripken commented on Dec 18, 2017

    @kripken
    Member

    Sorry again about this - @juj was on vacation and is currently traveling. I mentioned the urgency here to him, hopefully he can get to it soon.

    Long-term, we just need a better solution, where it doesn't depend on just one person. But we need more help to get there.

    Meanwhile, you can get and build incoming using the emsdk. That will take time to build LLVM+Clang, but otherwise should get you the very latest code.

  8. bsokol commented on Dec 18, 2017

    @bsokol

    Hi Alon! :) First of all I would you thank you guys @kripken @juj @saschanaz for your hard work. Emscripten is a fantastic technology! I devoted last half year to a research of current HTML5 capabilities in gamedev, and thanks to Emscripten we are able to create high-quality and well-optimized games that may compete with native mobile apps.
    You can test our small demo on every desktop and especially mobile browsers:
    https://nanotitans.com/html5/nerdhero/
    https://www.youtube.com/watch?v=lAlJ29CB30g
    We are still surprised with the results and power of Emscripten! ;) It's only 800kb asm.js.

    My main development platform is Windows so why I always waiting and begging for a new precompiled build. I prefer to work on stable/official releases. Building the whole emsdk on windows is also not trivial task :/

  9. kripken commented on Dec 19, 2017

    @kripken
    Member

    Nice game!

    Yeah, I understand the problem with building the emsdk - clang and LLVM are large and take a while to compile. As I said above, we need to fix the process for creating the emsdk builds somehow, as @juj isn't always available.

    One option I've suggested in the past is to create a portable emsdk containing wasm (or asm.js) builds. So clang compiled to wasm, etc. That would run a little slower than native builds, but it makes creating an emsdk for all platforms very easy (as easy as creating binaryen.js in the binaryen repo, which is super easy). Thoughts?

  10. saschanaz commented on Dec 20, 2017

    @saschanaz
    CollaboratorAuthor

    One option I've suggested in the past is to create a portable emsdk containing wasm (or asm.js) builds.

    That's what I recently thought, just like your previous experiment: https://github.com/kripken/llvm.js

  11. saschanaz commented on Dec 20, 2017

    @saschanaz
    CollaboratorAuthor

    I think #5266 is a blocker when we want to build a CLI tool anyway...

  12. juj commented on Dec 20, 2017

    @juj
    Collaborator

    Sorry for the delay on this one - before getting to PTO I checked that the builds were running fine, and it turns out the bots were fine to do only one build, and they weren't able to successfully upload any newer ones - working on this now.

  13. self-assigned this
    on Dec 20, 2017
  14. bsokol commented on Dec 21, 2017

    @bsokol

    Hi @juj , thanks for fixing build machine I've just downloaded 1.37.25 binaries and everything works like a charm. I had to only add -s EXTRA_EXPORTED_RUNTIME_METHODS='["cwrap", "writeArrayToMemory", "stringToUTF8"]' option to my makefile according to last changes.

    Btw. guys, bigs thanks for updating release notes history file. It is very helpful:
    https://kripken.github.io/emscripten-site/docs/introducing_emscripten/release_notes.html

    I keep fingers crossed for build machine bot and the brand new 1.37.26 release from few hours ago ;)

  15. 26 remaining items

  16. kripken commented on May 6, 2019

    @kripken
    Member

    Looks like it might be @juj's commit here: juj/emslave@2f46687

  17. bsokol commented on May 9, 2019

    @bsokol

    Thanks guys! Works again!

  18. bsokol commented on Jun 15, 2019

    @bsokol

    Hello again ;) Reporting no windows binaries above 1.38.32.
    https://s3.amazonaws.com/mozilla-games/emscripten/packages/llvm/tag/win_64bit/index.txt

  19. kripken commented on Jun 15, 2019

    @kripken
    Member

    @bsokol Correct for 1.38.32, see the changelog, we skipped 1.38.32 as part of the transition to the new builders.

    For versions after that, the old mozilla builders are not being used, so all links to mozilla-games are obsolete. The emsdk will fetch from the new chromium builders (./emsdk install latest or ./emsdk install 1.38.33 for example). Please let us know if you see any issues there.

  20. bsokol commented on Jun 15, 2019

    @bsokol

    Thanks for the info @kripken !

    emsdk update
    [Error 183] Cannot create a file when that file already exists

    Downloading: c:/Work/Emsdk/zips/master.zip from https://github.com/emscripten-core/emsdk/archive/master.zip, 49816 Bytes
     [----------------------------------------------------------------------------Already up to date.
    ]
    Unpacking 'c:/Work/Emsdk/zips/master.zip' to 'c:/Work/Emsdk'
    **Unzipping file 'c:/Work/Emsdk/zips/master.zip' failed due to reason: [Error 183] Cannot create a file when that file already exists**
    Fetching emscripten-releases repository...
    Repository 'https://chromium.googlesource.com/emscripten-releases' already cloned to directory 'c:/Work/Emsdk/releases', skipping.
    Fetching latest changes to the branch 'master' for 'c:/Work/Emsdk/releases'...
    Successfully updated and checked out branch 'master' on repository 'c:/Work/Emsdk/releases'
    Current repository version: "Sat, 15 Jun 2019 10:43:49 +0000 edb07a77f534273b7ff496b859ddb1dcaa0a6bb9"
    Fetching all precompiled tagged releases..
    Downloading: c:/Work/Emsdk/llvm-tags-32bit.txt from https://s3.amazonaws.com/mozilla-games/emscripten/packages/llvm/tag/win_32bit/index.txt
     []
    Downloading: c:/Work/Emsdk/llvm-tags-64bit.txt from https://s3.amazonaws.com/mozilla-games/emscripten/packages/llvm/tag/win_64bit/index.txt, 2435 Bytes
     [----------------------------------------------------------------------------]
    

    emsdk install latest
    HTTP Error 404: Not Found

    Installing SDK 'sdk-releases-fastcomp-98f49919f25e06fa557cbcb1321d4c10e60c87ca-64bit'..
    Installing tool 'releases-fastcomp-98f49919f25e06fa557cbcb1321d4c10e60c87ca-64bit'..
    **Error downloading URL 'https://storage.googleapis.com/webassembly/emscripten-releases-builds/win/98f49919f25e06fa557cbcb1321d4c10e60c87ca/wasm-binaries.zip': HTTP Error 404: Not Found**
    
    
  21. kripken commented on Jun 15, 2019

    @kripken
    Member

    Thanks @bsokol, looks like we missed something in the new builders. This fix should resolve that, and tag a new working version: emscripten-core/emsdk#278 Please test! I don't have a windows machine here.

    Separately, I am worried about the

    **Unzipping file 'c:/Work/Emsdk/zips/master.zip' failed due to reason: [Error 183] Cannot create a file when that file already exists**
    

    When I do emsdk update twice it doesn't happen for me. What happens if you delete zips/master.zip and then do emsdk update twice?

  22. changed the title [-]No Windows precompiled build for 1.37.22[/-] [+]Not all precompiled builds exist for $CURRENT_VERSION[/+] on Jun 15, 2019
  23. bsokol commented on Jun 16, 2019

    @bsokol

    When I do emsdk update twice it doesn't happen for me. What happens if you delete zips/master.zip and then do emsdk update twice?

    The same. It looks like that is the problem with overwrite some files from master.zp to EMSDK folder on Windows during unpacking.

    Downloading: c:/Work/Emsdk/zips/master.zip from https://github.com/emscripten-core/emsdk/archive/master.zip
    Unpacking 'c:/Work/Emsdk/zips/master.zip' to 'c:/Work/Emsdk'
    Unzipping file 'c:/Work/Emsdk/zips/master.zip' failed due to reason: [Error 183] Cannot create a file when that file already exists
    

    The same with existing python installation:

    Downloading: c:/Work/Emsdk/zips/WinPython-64bit-2.7.13.1Zero.zip from https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/WinPython-64bit-2.7.13.1Zero.zip, 41285159 Bytes
    Unpacking 'c:/Work/Emsdk/zips/WinPython-64bit-2.7.13.1Zero.zip' to 'c:/Work/Emsdk/python/2.7.13.1_64bit'
    Unzipping file 'c:/Work/Emsdk/zips/WinPython-64bit-2.7.13.1Zero.zip' failed due to reason: [Error 183] Cannot create a file when that file already exists
    Installation failed!
    

    Maybe you should enable/force overwrite mode to unzip script on Windows?

  24. bsokol commented on Jun 16, 2019

    @bsokol

    It looks like you should change "os.rename" to "shutil.move" in emsdk script:
    https://stackoverflow.com/questions/8107352/force-overwrite-in-os-rename

  25. bsokol commented on Jun 16, 2019

    @bsokol

    Ok, after fixing emsdk script and updating the whole SDK I have another problem with 3 messages:
    "ERROR: The system was unable to find the specified registry key or value."
    during "emsdk activate latest --global"

    Registering active Emscripten environment globally for all users.
    
    Writing .emscripten configuration file to user home directory C:\Users\Bartek/
    The Emscripten configuration file C:\Users\Bartek\.emscripten has been rewritten with the following contents:
    
    import os
    LLVM_ROOT = 'c:/Work/Emsdk/fastcomp/fastcomp/bin'
    BINARYEN_ROOT = 'c:/Work/Emsdk/fastcomp'
    NODE_JS = 'c:/Work/Emsdk/node/8.9.1_64bit/bin/node.exe'
    PYTHON = 'c:/Work/Emsdk/python/2.7.13.1_64bit/python-2.7.13.amd64/python.exe'
    JAVA = 'c:/Work/Emsdk/java/8.152_64bit/bin/java.exe'
    SPIDERMONKEY_ENGINE = ''
    V8_ENGINE = ''
    TEMP_DIR = 'c:/users/bartek/appdata/local/temp'
    COMPILER_ENGINE = NODE_JS
    JS_ENGINES = [NODE_JS]
    
    Setting environment variables:
    EMSDK = c:/Work/Emsdk
    
    ERROR: The system was unable to find the specified registry key or value.
    ERROR: The system was unable to find the specified registry key or value.
    ERROR: The system was unable to find the specified registry key or value.
    Set the following tools as active:
       releases-fastcomp-d46be49c2aab975333423122239892bd46f52bba-64bit
       node-8.9.1-64bit
       python-2.7.13.1-64bit
       java-8.152-64bit
    
    
    
  26. bsokol commented on Jun 16, 2019

    @bsokol

    There is also no package for mingw:

    emsdk install mingw-7.1.0-64bit

    Installing tool 'mingw-7.1.0-64bit'..
    Error downloading URL 'https://storage.googleapis.com/webassembly/emscripten-releases-builds/deps/mingw_7.1.0_64bit.zip': HTTP Error 404: Not Found
    Traceback (most recent call last):
      File "c:\Work\Emsdk\\emsdk", line 2640, in <module>
        sys.exit(main())
      File "c:\Work\Emsdk\\emsdk", line 2622, in main
        success = tool.install()
      File "c:\Work\Emsdk\\emsdk", line 1542, in install
        success = download_and_unzip(url, self.installation_path(), download_even_if_exists=download_even_if_exists, filename_prefix=filename_prefix)
      File "c:\Work\Emsdk\\emsdk", line 1107, in download_and_unzip
        assert received_download_target == download_target
    AssertionError
    
  27. bsokol commented on Jun 16, 2019

    @bsokol

    After manual coping mingw from previous emsdk I've tried to build my project with the newest emskd. All codebase was compiled successfully but on the end of process I've got this error:

    cache:INFO: generating system asset: optimizer.2.exe... (this will be cached in "C:\Users\Bartek\.emscripten_cache\asmjs\optimizer.2.exe" for subsequent builds)
    Traceback (most recent call last):
      File "c:\Work\Emsdk\fastcomp\emscripten\emcc.py", line 3420, in <module>
        sys.exit(run(sys.argv))
      File "c:\Work\Emsdk\fastcomp\emscripten\emcc.py", line 2233, in run
        optimizer.flush()
      File "c:\Work\Emsdk\fastcomp\emscripten\emcc.py", line 311, in flush
        just_concat='emitJSON' in chunk)
      File "c:\Work\Emsdk\fastcomp\emscripten\emcc.py", line 341, in run_passes
        output_filename=self.in_temp(os.path.basename(final) + '.jsopted.js'))
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\shared.py", line 2308, in js_optimizer
        ret = js_optimizer.run(filename, passes, NODE_JS, debug, extra_info, just_split, just_concat)
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\js_optimizer.py", line 572, in run
        return run_on_js(filename, passes, js_engine, source_map, extra_info, just_split, just_concat)
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\js_optimizer.py", line 455, in run_on_js
        commands = [[get_native_optimizer(), f] + passes for f in filenames]
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\js_optimizer.py", line 187, in get_native_optimizer
        return get_optimizer('optimizer.2.exe', ['-DNDEBUG'])
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\js_optimizer.py", line 180, in get_optimizer
        return shared.Cache.get(name, create_optimizer_cmake)
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\cache.py", line 133, in get
        temp = creator()
      File "c:\Work\Emsdk\fastcomp\emscripten\tools\js_optimizer.py", line 138, in create_optimizer_cmake
        proc = subprocess.Popen(['cmake', '-G', cmake_generator, '-DCMAKE_BUILD_TYPE=' + cmake_build_type, shared.path_from_root('tools', 'optimizer')], cwd=build_path, stdin=log_output, stdout=log_output, stderr=log_output)
      File "c:\Work\Emsdk\python\2.7.13.1_64bit\python-2.7.13.amd64\lib\subprocess.py", line 390, in __init__
        errread, errwrite)
      File "c:\Work\Emsdk\python\2.7.13.1_64bit\python-2.7.13.amd64\lib\subprocess.py", line 640, in _execute_child
        startupinfo)
    WindowsError: [Error 2] The system cannot find the file specified
    w:/NanoTitans/HTML5/Game/makefile:21: recipe for target 'Build/libs/app.js' failed
    mingw32-make.exe: *** [Build/libs/app.js] Error 1
    

    I'm targeting asm.js with this parameters:
    -s EXTRA_EXPORTED_RUNTIME_METHODS='["stringToUTF8", "cwrap"]' -s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MODULARIZE=1 -s 'EXPORT_NAME="NTTech"' --closure 1 -s SINGLE_FILE=1 -s MALLOC=emmalloc -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s ELIMINATE_DUPLICATE_FUNCTIONS=1 -s ENVIRONMENT=web -s ABORTING_MALLOC=0 -s USE_WEBGL2=1 -s NO_EXIT_RUNTIME=1 -s TOTAL_MEMORY=33554432 -s NO_FILESYSTEM=1 -fno-exceptions -Wno-invalid-offsetof -s WASM=0 -s LEGACY_VM_SUPPORT=1

    Inside "C:\Users\Bartek.emscripten_cache\asmjs" folder I don't have "C:\Users\Bartek.emscripten_cache\asmjs\optimizer.2.exe" file:

    image

    and "optimizer_build_Release" folder is empty.

  28. kripken commented on Jun 16, 2019

    @kripken
    Member

    Thanks @bsokol, I opened emscripten-core/emsdk#279 for the remove/move fix.

    I'll look into the mingw download tomorrow.

    Not sure about those other windows issues, I don't know enough about windows. It might be best to open specific new issues for them to get more attention if no one responds here.

  29. kripken commented on Jun 17, 2019

    @kripken
    Member

    Mingw (4.6.2 and 7.1.0) have been uploaded, so the emsdk should be able to get them now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions