jpd002 / Play-

Play! - PlayStation2 Emulator
http://purei.org
Other
2.03k stars 249 forks source link

Cannot emcmake Cmake play js for web browser. #1332

Closed CatPeep closed 4 months ago

CatPeep commented 5 months ago

I cannot emcmake play js despite having all the dependencies installed.

OS: Arch linux setup on the 6.6.3-arch1-1 kernel. GPU: NVIDIA GTX 750 CPU: AMD Ryzen 5 5600 Version of Play!: 0.63

When running the command:

emcmake cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_PLAY=ON -DBUILD_PSFPLAYER=ON -DUSE_QT=OFF

after already going into the build directory which I made, I get this as my output:

configure: cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_PLAY=ON -DBUILD_PSFPLAYER=ON -DUSE_QT=OFF -DCMAKE_TOOLCHAIN_FILE=/usr/lib/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/node CMake Error at CMakeLists.txt:16 (include): include could not find requested file:

Header

Warning: Not a git repo or git not found. CMake Error at CMakeLists.txt:53 (include): include could not find requested file:

PrecompiledHeader

CMake Error at tools/PsfPlayer/CMakeLists.txt:7 (include): include could not find requested file:

Header

CMake Error at tools/PsfPlayer/Source/ui_qt/CMakeLists.txt:7 (include): include could not find requested file:

Header

CMake Error at tools/PsfPlayer/Source/CMakeLists.txt:7 (include): include could not find requested file:

Header

CMake Error at Source/CMakeLists.txt:7 (include): include could not find requested file:

Header

CMake Error at Source/CMakeLists.txt:13 (include): include could not find requested file:

PrecompiledHeader

CMake Error at Source/CMakeLists.txt:43 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/Source/../deps/Framework/build_cmake/Framework" which is not an existing directory.

CMake Error at Source/CMakeLists.txt:53 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/Source/../deps/Framework/build_cmake/FrameworkAmazon" which is not an existing directory.

CMake Error at Source/CMakeLists.txt:67 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/Source/../deps/CodeGen/build_cmake" which is not an existing directory.

-- Could NOT find BZip2 (missing: BZIP2_LIBRARIES BZIP2_INCLUDE_DIR) -- Using Provided BZip2 source CMake Error at Source/CMakeLists.txt:78 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/Source/../deps/Dependencies/build_cmake/bzip2-1.0.6" which is not an existing directory.

CMake Error at Source/CMakeLists.txt:91 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/Source/../deps/Dependencies/build_cmake/zstd_zlibwrapper" which is not an existing directory.

CMake Error at Source/CMakeLists.txt:102 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/Source/../deps/Dependencies/xxHash/cmake_unofficial/" which is not an existing directory.

CMake Warning at Source/CMakeLists.txt:111 (find_package): By not providing "FindICUUC.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "ICUUC", but CMake did not find one.

Could not find a package configuration file provided by "ICUUC" with any of the following names:

ICUUCConfig.cmake
icuuc-config.cmake

Add the installation prefix of "ICUUC" to CMAKE_PREFIX_PATH or set "ICUUC_DIR" to a directory containing one of the above files. If "ICUUC" provides a separate development package or SDK, be sure it has been installed.

CMake Error at Source/CMakeLists.txt:117 (add_subdirectory): The source directory

/home/catpeep/play/Play--0.63/deps/libchdr

does not contain a CMakeLists.txt file.

CMake Error at tools/PsfPlayer/Source/CMakeLists.txt:27 (add_subdirectory): add_subdirectory given source "/home/catpeep/play/Play--0.63/tools/PsfPlayer/Source/../../../deps/Dependencies/build_cmake/unrarsrc-5.2.5" which is not an existing directory.

CMake Error at tools/PsfPlayer/Source/ui_qt/CMakeLists.txt:59 (find_package): By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5", but CMake did not find one.

Could not find a package configuration file provided by "Qt5" with any of the following names:

Qt5Config.cmake
qt5-config.cmake

Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR" to a directory containing one of the above files. If "Qt5" provides a separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred! emcmake: error: 'cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_PLAY=ON -DBUILD_PSFPLAYER=ON -DUSE_QT=OFF -DCMAKE_TOOLCHAIN_FILE=/usr/lib/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/usr/bin/node' failed (returned 1)

This is my first time making an issue submission on GitHub so I hope this suits your needs.

jpd002 commented 4 months ago

Did you make sure git submodules were properly updated using git submodule update --init --recursive?

CatPeep commented 4 months ago

No, I did not, but once I executed that, all build errors disappeared and I got the website up an running! Although I do have one smaller problem, when I load the website, no matter it be the local computer or another device, it stays stuck on loading and does not let me choose the file.

CatPeep commented 4 months ago

The console log in chrome is:

bundle.js:160 unknown
bundle.js:1087 Initializing PS2VM...
Play.js:8 Creating import table...
bundle.js:3173 worker sent an error! http://localhost:3000/Play.worker.js:1: Uncaught ReferenceError: convertJsFunctionToWasm is not defined
worker.onerror @ bundle.js:3173
bundle.js:3174 Uncaught ErrorEventisTrusted: truebubbles: falsecancelBubble: falsecancelable: truecolno: 2103composed: falsecurrentTarget: Window {window: Window, self: Window, document: document, name: '', location: Location, …}defaultPrevented: falseerror: nulleventPhase: 0filename: "http://localhost:3000/Play.worker.js"lineno: 1message: "Uncaught ReferenceError: convertJsFunctionToWasm is not defined"returnValue: truesrcElement: Window {window: Window, self: Window, document: document, name: '', location: Location, …}target: Window {window: Window, self: Window, document: document, name: '', location: Location, …}timeStamp: 662.5100000000093type: "error"[[Prototype]]: ErrorEvent
Play.worker.js:1 Uncaught ReferenceError: convertJsFunctionToWasm is not defined
    at RegisterExternFunction (Play.js:8:9519)
    at invoke_iii (Play.js:8:217218)
    at Play.wasm:0xf887
    at Play.wasm:0x1244ab
    at Play.wasm:0x178bc5
    at invoke_vi (Play.js:8:218116)
    at Play.wasm:0x17cd5e
    at Object.invokeEntryPoint (Play.js:8:62600)
    at handleMessage (Play.worker.js:1:1627)
bundle.js:50207 WebSocket connection to 'ws://localhost:3000/ws' failed: 
CatPeep commented 4 months ago

When running npm audit I get this:

# npm audit report

nth-check  <2.0.1
Severity: high
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix --force`
Will install react-scripts@3.0.1, which is a breaking change
node_modules/svgo/node_modules/nth-check
  css-select  <=3.1.0
  Depends on vulnerable versions of nth-check
  node_modules/svgo/node_modules/css-select
    svgo  1.0.0 - 1.3.2
    Depends on vulnerable versions of css-select
    node_modules/svgo
      @svgr/plugin-svgo  <=5.5.0
      Depends on vulnerable versions of svgo
      node_modules/@svgr/plugin-svgo
        @svgr/webpack  4.0.0 - 5.5.0
        Depends on vulnerable versions of @svgr/plugin-svgo
        node_modules/@svgr/webpack
          react-scripts  >=2.1.4
          Depends on vulnerable versions of @svgr/webpack
          Depends on vulnerable versions of resolve-url-loader
          node_modules/react-scripts

postcss  <8.4.31
Severity: moderate
PostCSS line return parsing error - https://github.com/advisories/GHSA-7fh5-64p2-3v2j
fix available via `npm audit fix --force`
Will install react-scripts@3.0.1, which is a breaking change
node_modules/resolve-url-loader/node_modules/postcss
  resolve-url-loader  0.0.1-experiment-postcss || 3.0.0-alpha.1 - 4.0.0
  Depends on vulnerable versions of postcss
  node_modules/resolve-url-loader

8 vulnerabilities (2 moderate, 6 high)

To address all issues (including breaking changes), run:
  npm audit fix --force

Even after I run npm audit fix --force, it still doesn't work.

jpd002 commented 4 months ago

I tried building with latest Emscripten and I had the same error as you. I fixed that in https://github.com/jpd002/Play--CodeGen/commit/fa491e3970386843d152e494ba260b54462b274a, which is now used in master, so, everything should work fine now.

CatPeep commented 4 months ago

Thank you very much for all your time and effort! It all works now.

jpd002 commented 4 months ago

No probs!