Compile to Web issue - Node "access denied"

I followed all of the instructions on the wiki about compiling the example for Web with Emscripten, and set all of my paths in the .emscripten file it created upon installing Raylib on my Windows 8.1 box.
I have never used Node, but I believe it is a permissions thing, but I am not sure how to rectify it. All compiles until this log output. Those paths are correct. Is Node.exe the JS engine? Or do I need to install one with Node?

Process started >>> WARNING:root:cannot check node version: [Error 5] Access is denied INFO:root:(Emscripten: Running sanity checks) CRITICAL:root:The JavaScript shell used for compiling (['C:\\emsdk\\node\\4.1.1_64bit\\bin']) does not seem to work, check the paths in ~/.emscripten Checking JS engine ['C:\\emsdk\\node\\4.1.1_64bit\\bin'] failed. Check ~/.emscripten. Details: [Error 5] Access is denied <<< Process finished. (Exit code 1)




  • FWIW, I just found out I needed to uncomment the '#define PLATFORM_WEB' in the core_basic_window_web.c file. I did, and the same errors still appear :(

    Everything else aside from Web works great though for my Windows' builds, so I am very grateful anyway!
  • Hi Eggy! Actually, don't need to uncomment '#define PLATFORM_WEB' in core_basic_window_web.c because when compiling the same parameter is already defined in the command line: -DPLATFORM_WEB

    It seems there is some piece missing in the required software to compile for web, verify that you have the following tools:

    Emscripten: C:\emsdk\emscripten\1.35.0
    CLang compiler: C:\emsdk\clang\e1.35.0_64bit
    Python: C:\emsdk\python\
    Node.js: C:\emsdk\node\4.4.1_64bit

    If any version is different than the installed one, you should modify the Notepad++ script: raylib_compile_emscripten, just review the versions defined there.

    But reading the error it really seems a permissions thing...
  • All was correct, but I had to put 'node.exe' at the end of my node path. 'C:\emsdk\node\4.4.1_64bit\bin\node.exe' exe'
    Strange since I had put the full path including 'bin' dir in the path. It works now. Thanks!
  • Happy to read that! It's weird, it should work directly...

    Keep up the good work! :)
  • I had to reinstall my entire computer not anything to do with Raylib, but Windows 10!

    Anyway, this time I reloaded Windows 8.1, and reinstalled Raylib. The compile for web via emscripten had only one warning this time. It can't find libraylib.bc for some reason.

    I checked and libraylib.bc is in the c:\raylib\raylib\release\html5 directory, and that path is in the F6 script under the emcc line of -I includes.

    Anyway, I simply copied libraylib.bc to the examples directory and it compiled fine. I tried putting '\\' vs. '\' in the script paths just in case it is a linux / windows thing about escapes.

    No big deal, but I don' t like not knowing the -I flag doesn't lead it to the path libraylib.bc is in as expected?

  • edited August 2016
    Hi Eggy, -I flag refers to #include search path, the flag that refers to library path is -L. maybe that's the issue but it's weird because the script (raylib_compile_emscripten) refers to that library path correctly...
Sign In or Register to comment.