Skip to content

docs: list all required build dependencies and clang version in BUILDING.md - #119

Open
CEnnisgit wants to merge 1 commit into
RPCSX:masterfrom
CEnnisgit:docs/building-missing-deps
Open

docs: list all required build dependencies and clang version in BUILDING.md#119
CEnnisgit wants to merge 1 commit into
RPCSX:masterfrom
CEnnisgit:docs/building-missing-deps

Conversation

@CEnnisgit

Copy link
Copy Markdown

Following BUILDING.md on a fresh Ubuntu 24.04 install currently fails at configure time:

  • Could NOT find PkgConfig — 3rdparty/Vulkan-Loader hard-requires pkg-config (GitHub CI runners preinstall it, which is why CI never sees this)
  • hidapi fails on the missing libudev pkg-config module → needs libudev-dev
  • without the X11/Wayland dev headers, configure warns "Compiling Vulkan-Loader without X11 support" and GLFW loses its window-system backends

This PR updates the Debian dependency line to match what .github/workflows/rpcsx.yml already installs, and adds a short clang section documenting that clang ≥ 20 plus the matching clang-tools package (for clang-scan-deps) are required.

Verified on commit e8ae148, fresh Ubuntu 24.04 x86_64:

  • g++-14: clean build after installing the listed packages
  • clang-20 + clang-tools-20: clean build
  • clang-18: fails on C++23 relaxed constexpr (P2448) in rx/StaticString.hpp and rpcsx/gpu/lib/gcn-shader/src/eval.cpp
  • clang-19: fails on enum reflection in rx/format.hpp (-Wenum-constexpr-conversion not SFINAE-friendly until clang 20)

🤖 Generated with Claude Code

https://claude.ai/code/session_01WyB6A1ZejZwDLADJ9J525Y

…ING.md

On a fresh Ubuntu 24.04 install, following BUILDING.md fails at configure
time: Vulkan-Loader requires pkg-config and hidapi requires libudev-dev.
Without the X11/Wayland dev headers, Vulkan-Loader and GLFW silently build
without window-system support. CI already installs all of these
(.github/workflows/rpcsx.yml); this brings the docs in line with it.

Also document the clang toolchain requirements: clang >= 19 for C++23
relaxed constexpr (P2448) — clang 18 fails in rx/StaticString.hpp and
gcn-shader/src/eval.cpp — plus clang-tools for the clang-scan-deps binary
CMake needs for dependency scanning. Verified: g++-14 and clang-20 build
commit e8ae148 clean; clang-18 does not.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WyB6A1ZejZwDLADJ9J525Y
@CEnnisgit

Copy link
Copy Markdown
Author

Noting the overlap with #100, which flagged the missing libudev-dev first (credit to @kostakis) — this PR includes that fix and additionally covers pkg-config, the X11/Wayland headers, and the clang toolchain requirements.

It also answers the WSL question raised in #100's thread: on WSL2 Ubuntu 24.04, current master (e8ae148) configures and builds clean with both g++-14 and clang-20 + clang-tools-20 once the packages listed here are installed, and bin/rpcsx --help/-v run fine. The linker errors mentioned there (relocation truncated to fit, __cxa_call_terminate) did not reproduce with the stock Ubuntu 24.04 g++-14. Only caveat: WSL's Vulkan is llvmpipe (no dzn ICD in Ubuntu's mesa), so it's CPU rendering only there — build/dev works, GPU testing needs native Linux.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants