konsumer / raylib-wasm

Ideas around a wasm runtime for raylib (to make raylib games in js & browser)
https://konsumer.js.org/raylib-wasm/
MIT License
22 stars 3 forks source link

Error in Building #4

Closed cemalgnlts closed 4 months ago

cemalgnlts commented 5 months ago

Hi,

I tried to build with npm run build:wasm command on GitHub Codespaces but I got the following error:

-- Compiling with the flags:
--   PLATFORM=PLATFORM_WEB
--   GRAPHICS=GRAPHICS_API_OPENGL_ES2
-- Configuring done
-- Generating done
-- Build files have been written to: /src/src/raylib/build
[ 12%] Building C object raylib/CMakeFiles/raylib.dir/rcore.c.o
Traceback (most recent call last):
  File "/emsdk/upstream/emscripten/emcc.py", line 1578, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/emsdk/upstream/emscripten/emcc.py", line 1571, in main
    ret = run(args)
  File "/emsdk/upstream/emscripten/emcc.py", line 540, in run
    shared.check_sanity()
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/emsdk/upstream/emscripten/tools/shared.py", line 516, in check_sanity
    with cache.lock('sanity'):
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/emsdk/upstream/emscripten/tools/cache.py", line 61, in lock
    acquire_cache_lock(reason)
  File "/emsdk/upstream/emscripten/tools/cache.py", line 37, in acquire_cache_lock
    cachelock.acquire(60)
  File "/emsdk/upstream/emscripten/tools/filelock.py", line 278, in acquire
    self._acquire()
  File "/emsdk/upstream/emscripten/tools/filelock.py", line 391, in _acquire
    fd = os.open(self._lock_file, open_mode)
PermissionError: [Errno 13] Permission denied: '/emsdk/upstream/emscripten/cache/cache.lock'
gmake[2]: *** [raylib/CMakeFiles/raylib.dir/build.make:77: raylib/CMakeFiles/raylib.dir/rcore.c.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:125: raylib/CMakeFiles/raylib.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2
Traceback (most recent call last):
  File "/emsdk/upstream/emscripten/emcc.py", line 1578, in <module>
    sys.exit(main(sys.argv))
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/emsdk/upstream/emscripten/emcc.py", line 1571, in main
    ret = run(args)
  File "/emsdk/upstream/emscripten/emcc.py", line 540, in run
    shared.check_sanity()
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/emsdk/upstream/emscripten/tools/shared.py", line 516, in check_sanity
    with cache.lock('sanity'):
  File "/usr/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/emsdk/upstream/emscripten/tools/cache.py", line 61, in lock
    acquire_cache_lock(reason)
  File "/emsdk/upstream/emscripten/tools/cache.py", line 37, in acquire_cache_lock
    cachelock.acquire(60)
  File "/emsdk/upstream/emscripten/tools/filelock.py", line 278, in acquire
    self._acquire()
  File "/emsdk/upstream/emscripten/tools/filelock.py", line 391, in _acquire
    fd = os.open(self._lock_file, open_mode)
PermissionError: [Errno 13] Permission denied: '/emsdk/upstream/emscripten/cache/cache.lock'
konsumer commented 4 months ago

It's saying "Permission Denied" when writing to the emscripten-cache. I think this is a local config issue with your build-setup.

Most people should not need to build this, anyway (this repo is just so it's reproducible, and you can see how I made it.) I would recommend just grabbing the CDN link, or the built js file and using that in your project.

Here is a very simple CDN-based example that makes it easy to use. You can see that live, here.

cemalgnlts commented 4 months ago

Got it, thanks.