Recognize the specific missing-library message
The reported failure occurs while building host libraries: Ninja expects 3rdparty/glslang/SPIRV/libSPIRV.a for libc.prx, then says the file is missing with no known rule to make it. The last Ninja line describes a missing build input. It does not by itself identify why CMake produced that dependency.
This exact symptom appears in multiple public comments on the Windows installation videos. Those comments establish a real setup problem; they do not establish that one reply is a universal repair.
1. Record the source and tools
Keep the failing command, the first configure error and the first build error. Note whether you used the original source, a contributor branch or CMake files copied from a video’s shared drive. Whole-file replacement can combine an old library path with a different dependency graph.
git rev-parse HEAD
git status --short
git submodule status --recursive
Get-Command gcc,g++,cmake,ninja | Select-Object Name,Source
gcc --version
cmake --version
ninja --versionThese PowerShell checks inspect state. They do not remove the existing build directory or change your checkout. Redact private paths before posting logs.
2. Check dependency initialization and the first configure result
Use the build instructions from the revision you selected. The upstream guide requires recursive submodule initialization. A source ZIP or interrupted checkout can leave dependency directories present without their expected contents.
git submodule update --init --recursiveThis command populates the checked-out submodule revisions; run it only inside the intended repository. If configuration failed earlier while downloading FFmpeg, first resolve that failure through the certificate checklist. A later missing library can be secondary to an incomplete configure step.
3. Compare using a new build directory
Preserve the original build folder and logs. Once the toolchain and dependency checkout match the documented revision, configure a newly named directory and compare its first error. This avoids silently reusing a CMake cache generated with another compiler or an older project layout.
cmake -S . -B build-diagnose -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
cmake --build build-diagnose --parallel
cmake --build build-diagnose --target libs --parallelUse a directory name that does not already contain another experiment. These are source-build commands, not a verified fix for every missing-library report. Compare CMakeLists changes against your chosen revision instead of downloading a random .a file.
4. Decide what changed
If the fresh configuration produces the required library and the libraries target finishes, record the commit, compiler and exact change that made the difference. Then check runtime files separately. Building successfully does not establish game compatibility.
If it still fails, submit the source revision, submodule status, compiler paths, configure output and first failing build command. A screenshot of only subcommand failed loses the diagnostic context. Return to the illustrated build guide for the complete process.
Sources
Prepare your next step.
Use the local tools alongside the upstream documentation.