Fix Linux build compatibility issues#63
Fix Linux build compatibility issues#63blasphemetheus wants to merge 2 commits intoBrawlback-Team:masterfrom
Conversation
- CMakeLists.txt: Use 'zlib' pkg-config instead of 'zlib-ng' to get standard zlib API (deflateInit_ etc.) instead of native zlib-ng API (zng_deflateInit_ etc.). The bundled zlib-ng uses ZLIB_COMPAT mode. - Externals/minizip-ng/CMakeLists.txt: Add missing CMake includes for CheckFunctionExists and CheckIncludeFile modules. - Externals/discord-rpc/CMakeLists.txt: Update cmake_minimum_required to 3.5 for CMake 4.x compatibility. - Source/Core/DolphinQt/CMakeLists.txt: Add Qt6::GuiPrivate dependency for qpa/qplatformnativeinterface.h header access on Linux. Tested on Manjaro Linux with Qt 6.10, CMake 4.0, GCC 15. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Qt6::GuiPrivate is needed for qpa/qplatformnativeinterface.h on Linux but may not be available in all CI environments. Make it optional so builds succeed where it's not installed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
The copilot explanation is: CMake Error at external/dav1d/CMakeLists.txt:97 (enable_language): This means the NASM assembler (Netwide Assembler) is missing. The build system needs it to compile assembly (ASM) sources for the vendored dav1d dependency. Solution: choco install nasmOr, download NASM from https://www.nasm.us/ and add its directory to your PATH. GitHub Actions Workflow Fix: - name: Install NASM
run: choco install nasm -yFor Ubuntu/Linux runners: - name: Install NASM
run: sudo apt-get update && sudo apt-get install -y nasmSummary:
This will resolve the missing NASM compiler error blocking your build. |
|
sorry closing this (read dev-general) |
Fix Linux build compatibility
Fixes build failures on modern Linux distributions (tested: Manjaro, Qt 6.10, CMake 4.0, GCC 15).
Issues Fixed
CMakeLists.txtundefined reference to deflateInit_)zlibpkg-config instead ofzlib-ngfor standard APIExternals/minizip-ng/CMakeLists.txtUnknown command check_function_exists)Externals/discord-rpc/CMakeLists.txtSource/Core/DolphinQt/CMakeLists.txtQt6::GuiPrivatedependencyBuild
Note: -DUSE_SYSTEM_FMT=OFF is required on systems with fmt 12+. The fmt 12 release has breaking API changes (FMT_COMPILE_STRING → fmt::string_view conversion) that affect the Dolphin codebase. This is an upstream Dolphin issue, not Brawlback-specific. Using the bundled fmt 10.x is the intended solution.