V0.7.2: 32-bit build fails - using 64-bit libraries for libwayland-client and libxkbcommon
Mangohud release version 0.7.2
The build commands for a 32-bit fail at the 'Linking target' stage, due to selecting 64-bit libwayland-client and libxkbcommon libraries for linkage.
For brevity, I include the shortest of the failing linkage commands - all three fail for the same reason:
g++ -m32 -o src/libMangoHud_dlsym.so src/libMangoHud_dlsym.so.p/elfhacks.cpp.o src/libMangoHud_dlsym.so.p/real_dlsym.cpp.o src/libMangoHud_dlsym.so.p/hook_dlsym.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,-soname,libMangoHud_dlsym.so -Wl,-rpath,/usr/lib64 -Wl,-rpath-link,/usr/lib64 -Wl,--start-group src/libMangoHud.a subprojects/imgui-1.89.9/libimgui.a subprojects/spdlog-1.14.1/src/libspdlog.a subprojects/implot-0.16/libimplot.a -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--exclude-libs,ALL -lGL -static-libstdc++ -Wl,--version-script,/home/ipic/MangoHud-v0.7.2/src/mangohud.version /usr/lib64/libwayland-client.so /usr/lib64/libxkbcommon.so -Wl,--end-group -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libwayland-client.so: error adding symbols: file in wrong format
List relevant hardware/software information This is on a Gentoo system.
The package dev-libs/wayland installs the correct 32 and 64 bit libraries as follows (output from ldconfig -p):
libwayland-client.so.0 (libc6,x86-64) => /usr/lib64/libwayland-client.so.0
libwayland-client.so.0 (libc6) => /usr/lib/libwayland-client.so.0
libwayland-client.so (libc6,x86-64) => /usr/lib64/libwayland-client.so
libwayland-client.so (libc6) => /usr/lib/libwayland-client.so
To Reproduce
CC="gcc -m32" CXX="g++ -m32" meson build32 --libdir lib32 -Dwith_xnvctrl=disabled
ninja -C build32 install
Expected behavior configuration should select the /usr/lib/libwayland-client.so version (and same for /usr/lib64/libxkbcommon.so)
This seems like a compiler issue or pkg-config issue on gentoo, no? If not, this usually comes down to that you don't have the correct 32bit libraries installed so the only one he can find is the 64bit
I went back to version 0.7.0, and it builds using the command I gave in the report. I noticed that cmake said "Dependency wayland-client skipped: feature with_wayland disabled"
How do I disable the feature with_wayland? I don't use wayland, so that may be the issue (but the required library is installed by something).
You add the compiler flag -Dwith_wayland=disabled
Adding the flag -Dwith_wayland=disabled to the line I used in the report allows the build to complete successfully. Thanks. Did something change v0.7.1 to v0.7.2? (both v0.7.0 and v0.7.1 both worked without -Dwith_wayland=disabled)
Yes wayland keybinds were added in 0.7.2 which required new dependencies
Perhaps a note on how to exclude wayland could be added to the README?
I don't think it's necessary, but if someone wants to write a section about all the compiler flags I'd probably merge it.
I think I can see the build problem:
libwayland-client.so.0 (libc6) => /usr/lib/libwayland-client.so.0
and
--libdir lib32
According to Gentoo system layout docs, use of /usr/lib32 was deprecated.
After some experimentation I got a 32 bit command to configure correctly for Gentoo baselayout:
CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH="/usr/lib/pkgconfig" meson build32 --prefix=/usr --libdir lib -Dappend_libdir_mangohud=false -Dwith_xnvctrl=disabled
sudo ninja -C build32 install
sudo ldconfig
This found the 32 bit dll's and installed into /usr/lib/ as the system paths for ldconfig expect. The final command is necessary to have ldconfig rebuild it's cache.
Would you be interested if I have a look at your build.sh script and see if it is possible to include details for Gentoo in there?
For openSUSE Leap 15.6 the "workaround" is to simply install missing -32bit dependencies:
sudo zypper in libxkbcommon-devel-32bit wayland-devel-32bit
Nevertheless, in case of missing dependencies it is strange that the build fails with -Dwith_wayland=disabled ...
Here's some logs...
- configure
$ CC="/usr/bin/gcc-13 -m32" CXX="/usr/bin/g++-13 -m32" PKG_CONFIG_PATH="/usr/lib/pkgconfig" meson build32 --prefix=/usr --libdir lib/mangohud/lib -Dappend_libdir_mangohud=false
The Meson build system
Version: 1.3.1
Source dir: ./MangoHud
Build dir: ./MangoHud/build32
Build type: native build
Project name: MangoHud
Project version: v0.7.2
C compiler for the host machine: /usr/bin/gcc-13 -m32 (gcc 13.3.0 "gcc-13 (SUSE Linux) 13.3.0")
C linker for the host machine: /usr/bin/gcc-13 -m32 ld.bfd 2.41.0.20230908-150100
C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
Host machine cpu family: x86
Host machine cpu: i686
Program python3 (mako) found: YES (/usr/bin/python3) modules: mako
Checking if "GCC atomic builtins" compiles: YES
Checking if "Supports timespec_get" compiles: YES
Checking for function "bswap32" : YES
Checking for function "bswap64" : YES
Checking for function "clz" : YES
Checking for function "clzll" : YES
Checking for function "ctz" : YES
Checking for function "expect" : YES
Checking for function "ffs" : YES
Checking for function "ffsll" : YES
Checking for function "popcount" : YES
Checking for function "popcountll" : YES
Checking for function "unreachable" : YES
Found pkg-config: YES (/usr/bin/pkg-config) 0.29.2
Run-time dependency x11 found: YES 1.8.7
Run-time dependency wayland-client found: YES 1.22.0
Run-time dependency dbus-1 found: YES 1.12.2
Run-time dependency xkbcommon found: YES 1.5.0
Run-time dependency threads found: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports arguments -Werror=missing-declarations: YES
Compiler for C supports arguments -Werror=missing-prototypes: YES
Compiler for C supports arguments -Werror=return-type: YES
Compiler for C supports arguments -Werror=incompatible-pointer-types: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Qunused-arguments: NO
Compiler for C supports arguments -fno-math-errno: YES
Compiler for C supports arguments -fno-trapping-math: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C++ supports arguments -Werror=missing-declarations: YES
Compiler for C++ supports arguments -Werror=return-type: YES
Compiler for C++ supports arguments -Wno-unused-parameter: YES
Compiler for C++ supports arguments -Qunused-arguments: NO
Compiler for C++ supports arguments -fno-math-errno: YES
Compiler for C++ supports arguments -fno-trapping-math: YES
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
Compiler for C++ supports arguments -Wno-missing-field-initializers: YES
Checking for function "dlopen" : YES
Checking for function "clock_gettime" : YES
Downloading vulkan-headers source from https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.158.tar.gz
Downloading file of unknown size.
Downloading vulkan-headers patch from https://wrapdb.mesonbuild.com/v2/vulkan-headers_1.2.158-2/get_patch
Download size: 1107
Downloading: ..........
Executing subproject vulkan-headers
vulkan-headers| Project name: vulkan-headers
vulkan-headers| Project version: 1.2.158
vulkan-headers| C compiler for the host machine: /usr/bin/gcc-13 -m32 (gcc 13.3.0 "gcc-13 (SUSE Linux) 13.3.0")
vulkan-headers| C linker for the host machine: /usr/bin/gcc-13 -m32 ld.bfd 2.41.0.20230908-150100
vulkan-headers| Build targets in project: 1
vulkan-headers| Subproject vulkan-headers finished.
Checking for size of "void*" : 4
Found CMake: /usr/bin/cmake (3.28.3)
Run-time dependency imgui found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency imgui
Downloading imgui source from https://github.com/ocornut/imgui/archive/refs/tags/v1.89.9.tar.gz
Download size: 1609452
Downloading: ..........
Downloading imgui patch from https://wrapdb.mesonbuild.com/v2/imgui_1.89.9-1/get_patch
Download size: 2413
Downloading: ..........
Executing subproject imgui
imgui| Project name: imgui
imgui| Project version: 1.89.9
imgui| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
imgui| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
imgui| Library d3dcompiler found: NO
imgui| Library d3d9 skipped: feature dx9 disabled
imgui| Library d3d10 skipped: feature dx10 disabled
imgui| Library d3d11 skipped: feature dx11 disabled
imgui| Library d3d12 skipped: feature dx12 disabled
imgui| Dependency appleframeworks (modules: Foundation, AppKit, GameController, Metal) skipped: feature metal disabled
imgui| Dependency gl skipped: feature opengl disabled
imgui| Dependency sdl2 skipped: feature sdl_renderer disabled
imgui| Dependency vulkan skipped: feature vulkan disabled
imgui| Has header "webgpu/webgpu.h" skipped: feature webgpu disabled
imgui| Dependency glfw3 skipped: feature glfw disabled
imgui| Dependency sdl2 skipped: feature sdl2 disabled
imgui| Dependency appleframeworks (modules: Carbon, Cocoa, GameController) skipped: feature osx disabled
imgui| Library dwmapi skipped: feature win disabled
imgui| Dependency allegro-5 skipped: feature allegro5 disabled
imgui| Dependency allegro_primitives-5 skipped: feature allegro5 disabled
imgui| Build targets in project: 3
imgui| Subproject imgui finished.
Dependency imgui from subproject subprojects/imgui-1.89.9 found: YES 1.89.9
Run-time dependency implot found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency implot
Downloading implot source from https://github.com/epezent/implot/archive/refs/tags/v0.16.zip
Download size: 142193
Downloading: ..........
Downloading implot patch from https://wrapdb.mesonbuild.com/v2/implot_0.16-1/get_patch
Download size: 1226
Downloading: ..........
Executing subproject implot
implot| Project name: ImGui Plotting Library
implot| Project version: 0.16
implot| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
implot| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
implot| Build targets in project: 4
implot| Subproject implot finished.
Dependency implot from subproject subprojects/implot-0.16 found: YES 0.16
Run-time dependency spdlog found: NO (tried pkgconfig and cmake)
Downloading spdlog source from https://github.com/gabime/spdlog/archive/refs/tags/v1.14.1.tar.gz
Download size: 270896
Downloading: ..........
Downloading spdlog patch from https://wrapdb.mesonbuild.com/v2/spdlog_1.14.1-1/get_patch
Download size: 2965
Downloading: ..........
Executing subproject spdlog
spdlog| Project name: spdlog
spdlog| Project version: 1.14.1
spdlog| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
spdlog| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
spdlog| Dependency threads found: YES unknown (cached)
spdlog| Header "format" has symbol "__cpp_lib_format" skipped: feature std_format disabled
spdlog| Dependency fmt skipped: feature external_fmt disabled
spdlog| Build targets in project: 5
spdlog| Subproject spdlog finished.
Run-time dependency nlohmann_json found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency nlohmann_json
Downloading nlohmann_json source from https://github.com/nlohmann/json/releases/download/v3.10.5/include.zip
Download size: 260679
Downloading: ..........
Executing subproject nlohmann_json
nlohmann_json| Project name: nlohmann_json
nlohmann_json| Project version: 3.10.5
nlohmann_json| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
nlohmann_json| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
nlohmann_json| Build targets in project: 5
nlohmann_json| Subproject nlohmann_json finished.
Dependency nlohmann_json from subproject subprojects/nlohmann_json-3.10.5 found: YES 3.10.5
Program glslang found: YES (/usr/bin/glslang)
Program git found: YES (/usr/bin/git)
Has header "NVCtrl/NVCtrl.h" : YES
Compiler for C supports link arguments -Wl,-Bsymbolic-functions: YES
Compiler for C supports link arguments -Wl,-z,relro: YES
Compiler for C supports link arguments -Wl,--exclude-libs,ALL: YES
Compiler for C supports link arguments -lGL: YES
Compiler for C supports link arguments -static-libstdc++: YES
WARNING: extract_all_objects called without setting recursive
keyword argument. Meson currently defaults to
non-recursive to maintain backward compatibility but
the default will be changed in the future.
Configuring MangoHud.x86.json using configuration
Configuring mangohud using configuration
Program appstreamcli found: YES (/usr/bin/appstreamcli)
Build targets in project: 11
MangoHud v0.7.2
Subprojects
imgui : YES
implot : YES
nlohmann_json : YES
spdlog : YES
vulkan-headers : YES
User defined options
libdir : lib/mangohud/lib
prefix : /usr
append_libdir_mangohud: false
Found ninja-1.10.0 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
- build
ninja -C build32/
ninja: Entering directory `build32/'
[3/111] Generating src/overlay.frag.spv.h with a custom command
../src/overlay.frag
[4/111] Generating src/overlay.vert.spv.h with a custom command
../src/overlay.vert
[109/111] Linking target src/libMangoHud_dlsym.so
FAILED: src/libMangoHud_dlsym.so
/usr/bin/g++-13 -m32 -o src/libMangoHud_dlsym.so src/libMangoHud_dlsym.so.p/elfhacks.cpp.o src/libMangoHud_dlsym.so.p/real_dlsym.cpp.o src/libMangoHud_dlsym.so.p/hook_dlsym.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libMangoHud_dlsym.so src/libMangoHud.a subprojects/imgui-1.89.9/libimgui.a subprojects/spdlog-1.14.1/src/libspdlog.a subprojects/implot-0.16/libimplot.a -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--exclude-libs,ALL -lGL -static-libstdc++ -Wl,--version-script,./MangoHud/src/mangohud.version /usr/lib64/libwayland-client.so /usr/lib64/libxkbcommon.so -Wl,--end-group -pthread
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libwayland-client.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
[110/111] Linking target src/libMangoHud_opengl.so
FAILED: src/libMangoHud_opengl.so
/usr/bin/g++-13 -m32 -o src/libMangoHud_opengl.so src/libMangoHud_opengl.so.p/gl_glad.c.o src/libMangoHud_opengl.so.p/gl_gl_renderer.cpp.o src/libMangoHud_opengl.so.p/gl_gl_hud.cpp.o src/libMangoHud_opengl.so.p/gl_inject_egl.cpp.o src/libMangoHud_opengl.so.p/loaders_loader_glx.cpp.o src/libMangoHud_opengl.so.p/gl_inject_glx.cpp.o src/libMangoHud_opengl.so.p/hud_elements.cpp.o src/libMangoHud_opengl.so.p/overlay.cpp.o src/libMangoHud_opengl.so.p/overlay_params.cpp.o src/libMangoHud_opengl.so.p/font.cpp.o src/libMangoHud_opengl.so.p/keybinds.cpp.o src/libMangoHud_opengl.so.p/font_unispace.c.o src/libMangoHud_opengl.so.p/logging.cpp.o src/libMangoHud_opengl.so.p/config.cpp.o src/libMangoHud_opengl.so.p/gpu.cpp.o src/libMangoHud_opengl.so.p/blacklist.cpp.o src/libMangoHud_opengl.so.p/file_utils.cpp.o src/libMangoHud_opengl.so.p/cpu.cpp.o src/libMangoHud_opengl.so.p/memory.cpp.o src/libMangoHud_opengl.so.p/iostats.cpp.o src/libMangoHud_opengl.so.p/notify.cpp.o src/libMangoHud_opengl.so.p/elfhacks.cpp.o src/libMangoHud_opengl.so.p/real_dlsym.cpp.o src/libMangoHud_opengl.so.p/pci_ids.cpp.o src/libMangoHud_opengl.so.p/battery.cpp.o src/libMangoHud_opengl.so.p/control.cpp.o src/libMangoHud_opengl.so.p/device.cpp.o src/libMangoHud_opengl.so.p/amdgpu.cpp.o src/libMangoHud_opengl.so.p/intel.cpp.o src/libMangoHud_opengl.so.p/msm.cpp.o src/libMangoHud_opengl.so.p/net.cpp.o src/libMangoHud_opengl.so.p/shell.cpp.o src/libMangoHud_opengl.so.p/nvml.cpp.o src/libMangoHud_opengl.so.p/loaders_loader_nvml.cpp.o src/libMangoHud_opengl.so.p/loaders_loader_nvctrl.cpp.o src/libMangoHud_opengl.so.p/nvctrl.cpp.o src/libMangoHud_opengl.so.p/loaders_loader_x11.cpp.o src/libMangoHud_opengl.so.p/shared_x11.cpp.o src/libMangoHud_opengl.so.p/wayland_keybinds.cpp.o src/libMangoHud_opengl.so.p/dbus.cpp.o src/libMangoHud_opengl.so.p/loaders_loader_dbus.cpp.o src/libMangoHud_opengl.so.p/mesa_util_os_socket.c.o src/libMangoHud_opengl.so.p/mesa_util_os_time.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libMangoHud_opengl.so src/libMangoHud.a subprojects/imgui-1.89.9/libimgui.a subprojects/spdlog-1.14.1/src/libspdlog.a subprojects/implot-0.16/libimplot.a -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--exclude-libs,ALL -lGL -static-libstdc++ -Wl,--version-script,./MangoHud/src/mangohud.version /usr/lib64/libwayland-client.so /usr/lib64/libxkbcommon.so -Wl,--end-group -pthread
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libwayland-client.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
[111/111] Linking target src/libMangoHud.so
FAILED: src/libMangoHud.so
/usr/bin/g++-13 -m32 -o src/libMangoHud.so src/libMangoHud.a.p/vulkan.cpp.o src/libMangoHud.a.p/mesa_util_os_socket.c.o src/libMangoHud.a.p/mesa_util_os_time.c.o src/libMangoHud.a.p/hud_elements.cpp.o src/libMangoHud.a.p/overlay.cpp.o src/libMangoHud.a.p/overlay_params.cpp.o src/libMangoHud.a.p/font.cpp.o src/libMangoHud.a.p/keybinds.cpp.o src/libMangoHud.a.p/font_unispace.c.o src/libMangoHud.a.p/logging.cpp.o src/libMangoHud.a.p/config.cpp.o src/libMangoHud.a.p/gpu.cpp.o src/libMangoHud.a.p/blacklist.cpp.o src/libMangoHud.a.p/file_utils.cpp.o src/libMangoHud.a.p/cpu.cpp.o src/libMangoHud.a.p/memory.cpp.o src/libMangoHud.a.p/iostats.cpp.o src/libMangoHud.a.p/notify.cpp.o src/libMangoHud.a.p/elfhacks.cpp.o src/libMangoHud.a.p/real_dlsym.cpp.o src/libMangoHud.a.p/pci_ids.cpp.o src/libMangoHud.a.p/battery.cpp.o src/libMangoHud.a.p/control.cpp.o src/libMangoHud.a.p/device.cpp.o src/libMangoHud.a.p/amdgpu.cpp.o src/libMangoHud.a.p/intel.cpp.o src/libMangoHud.a.p/msm.cpp.o src/libMangoHud.a.p/net.cpp.o src/libMangoHud.a.p/shell.cpp.o src/libMangoHud.a.p/nvml.cpp.o src/libMangoHud.a.p/loaders_loader_nvml.cpp.o src/libMangoHud.a.p/loaders_loader_nvctrl.cpp.o src/libMangoHud.a.p/nvctrl.cpp.o src/libMangoHud.a.p/loaders_loader_x11.cpp.o src/libMangoHud.a.p/shared_x11.cpp.o src/libMangoHud.a.p/wayland_keybinds.cpp.o src/libMangoHud.a.p/dbus.cpp.o src/libMangoHud.a.p/loaders_loader_dbus.cpp.o src/libMangoHud.a.p/meson-generated_.._.._vk_enum_to_str.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libMangoHud.so src/libMangoHud.a subprojects/imgui-1.89.9/libimgui.a subprojects/spdlog-1.14.1/src/libspdlog.a subprojects/implot-0.16/libimplot.a -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--exclude-libs,ALL -lGL -static-libstdc++ -Wl,--version-script,./MangoHud/src/mangohud.version /usr/lib64/libwayland-client.so /usr/lib64/libxkbcommon.so -Wl,--end-group -pthread
/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/libwayland-client.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
-
configure (
-Dwith_wayland=disabled)
CC="/usr/bin/gcc-13 -m32" CXX="/usr/bin/g++-13 -m32" PKG_CONFIG_PATH="/usr/lib/pkgconfig" meson build32 --prefix=/usr --libdir lib/mangohud/lib -Dappend_libdir_mangohud=false -Dwith_wayland=disabled
The Meson build system
Version: 1.3.1
Source dir: ./MangoHud
Build dir: ./MangoHud/build32
Build type: native build
Project name: MangoHud
Project version: v0.7.2
C compiler for the host machine: /usr/bin/gcc-13 -m32 (gcc 13.3.0 "gcc-13 (SUSE Linux) 13.3.0")
C linker for the host machine: /usr/bin/gcc-13 -m32 ld.bfd 2.41.0.20230908-150100
C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
Host machine cpu family: x86
Host machine cpu: i686
Program python3 (mako) found: YES (/usr/bin/python3) modules: mako
Checking if "GCC atomic builtins" compiles: YES
Checking if "Supports timespec_get" compiles: YES
Checking for function "bswap32" : YES
Checking for function "bswap64" : YES
Checking for function "clz" : YES
Checking for function "clzll" : YES
Checking for function "ctz" : YES
Checking for function "expect" : YES
Checking for function "ffs" : YES
Checking for function "ffsll" : YES
Checking for function "popcount" : YES
Checking for function "popcountll" : YES
Checking for function "unreachable" : YES
Found pkg-config: YES (/usr/bin/pkg-config) 0.29.2
Run-time dependency x11 found: YES 1.8.7
Dependency wayland-client skipped: feature with_wayland disabled
Run-time dependency dbus-1 found: YES 1.12.2
Dependency xkbcommon skipped: feature with_wayland disabled
Run-time dependency threads found: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports arguments -Werror=missing-declarations: YES
Compiler for C supports arguments -Werror=missing-prototypes: YES
Compiler for C supports arguments -Werror=return-type: YES
Compiler for C supports arguments -Werror=incompatible-pointer-types: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Qunused-arguments: NO
Compiler for C supports arguments -fno-math-errno: YES
Compiler for C supports arguments -fno-trapping-math: YES
Compiler for C supports arguments -Wno-missing-field-initializers: YES
Compiler for C++ supports arguments -Werror=missing-declarations: YES
Compiler for C++ supports arguments -Werror=return-type: YES
Compiler for C++ supports arguments -Wno-unused-parameter: YES
Compiler for C++ supports arguments -Qunused-arguments: NO
Compiler for C++ supports arguments -fno-math-errno: YES
Compiler for C++ supports arguments -fno-trapping-math: YES
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
Compiler for C++ supports arguments -Wno-missing-field-initializers: YES
Checking for function "dlopen" : YES
Checking for function "clock_gettime" : YES
Downloading vulkan-headers source from https://github.com/KhronosGroup/Vulkan-Headers/archive/v1.2.158.tar.gz
Downloading file of unknown size.
Downloading vulkan-headers patch from https://wrapdb.mesonbuild.com/v2/vulkan-headers_1.2.158-2/get_patch
Download size: 1107
Downloading: ..........
Executing subproject vulkan-headers
vulkan-headers| Project name: vulkan-headers
vulkan-headers| Project version: 1.2.158
vulkan-headers| C compiler for the host machine: /usr/bin/gcc-13 -m32 (gcc 13.3.0 "gcc-13 (SUSE Linux) 13.3.0")
vulkan-headers| C linker for the host machine: /usr/bin/gcc-13 -m32 ld.bfd 2.41.0.20230908-150100
vulkan-headers| Build targets in project: 1
vulkan-headers| Subproject vulkan-headers finished.
Checking for size of "void*" : 4
Found CMake: /usr/bin/cmake (3.28.3)
Run-time dependency imgui found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency imgui
Downloading imgui source from https://github.com/ocornut/imgui/archive/refs/tags/v1.89.9.tar.gz
Downloading file of unknown size.
Downloading imgui patch from https://wrapdb.mesonbuild.com/v2/imgui_1.89.9-1/get_patch
Download size: 2413
Downloading: ..........
Executing subproject imgui
imgui| Project name: imgui
imgui| Project version: 1.89.9
imgui| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
imgui| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
imgui| Library d3dcompiler found: NO
imgui| Library d3d9 skipped: feature dx9 disabled
imgui| Library d3d10 skipped: feature dx10 disabled
imgui| Library d3d11 skipped: feature dx11 disabled
imgui| Library d3d12 skipped: feature dx12 disabled
imgui| Dependency appleframeworks (modules: Foundation, AppKit, GameController, Metal) skipped: feature metal disabled
imgui| Dependency gl skipped: feature opengl disabled
imgui| Dependency sdl2 skipped: feature sdl_renderer disabled
imgui| Dependency vulkan skipped: feature vulkan disabled
imgui| Has header "webgpu/webgpu.h" skipped: feature webgpu disabled
imgui| Dependency glfw3 skipped: feature glfw disabled
imgui| Dependency sdl2 skipped: feature sdl2 disabled
imgui| Dependency appleframeworks (modules: Carbon, Cocoa, GameController) skipped: feature osx disabled
imgui| Library dwmapi skipped: feature win disabled
imgui| Dependency allegro-5 skipped: feature allegro5 disabled
imgui| Dependency allegro_primitives-5 skipped: feature allegro5 disabled
imgui| Build targets in project: 3
imgui| Subproject imgui finished.
Dependency imgui from subproject subprojects/imgui-1.89.9 found: YES 1.89.9
Run-time dependency implot found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency implot
Downloading implot source from https://github.com/epezent/implot/archive/refs/tags/v0.16.zip
Downloading file of unknown size.
Downloading implot patch from https://wrapdb.mesonbuild.com/v2/implot_0.16-1/get_patch
Download size: 1226
Downloading: ..........
Executing subproject implot
implot| Project name: ImGui Plotting Library
implot| Project version: 0.16
implot| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
implot| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
implot| Build targets in project: 4
implot| Subproject implot finished.
Dependency implot from subproject subprojects/implot-0.16 found: YES 0.16
Run-time dependency spdlog found: NO (tried pkgconfig and cmake)
Downloading spdlog source from https://github.com/gabime/spdlog/archive/refs/tags/v1.14.1.tar.gz
Download size: 270896
Downloading: ..........
Downloading spdlog patch from https://wrapdb.mesonbuild.com/v2/spdlog_1.14.1-1/get_patch
Download size: 2965
Downloading: ..........
Executing subproject spdlog
spdlog| Project name: spdlog
spdlog| Project version: 1.14.1
spdlog| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
spdlog| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
spdlog| Dependency threads found: YES unknown (cached)
spdlog| Header "format" has symbol "__cpp_lib_format" skipped: feature std_format disabled
spdlog| Dependency fmt skipped: feature external_fmt disabled
spdlog| Build targets in project: 5
spdlog| Subproject spdlog finished.
Run-time dependency nlohmann_json found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency nlohmann_json
Downloading nlohmann_json source from https://github.com/nlohmann/json/releases/download/v3.10.5/include.zip
Download size: 260679
Downloading: ..........
Executing subproject nlohmann_json
nlohmann_json| Project name: nlohmann_json
nlohmann_json| Project version: 3.10.5
nlohmann_json| C++ compiler for the host machine: /usr/bin/g++-13 -m32 (gcc 13.3.0 "g++-13 (SUSE Linux) 13.3.0")
nlohmann_json| C++ linker for the host machine: /usr/bin/g++-13 -m32 ld.bfd 2.41.0.20230908-150100
nlohmann_json| Build targets in project: 5
nlohmann_json| Subproject nlohmann_json finished.
Dependency nlohmann_json from subproject subprojects/nlohmann_json-3.10.5 found: YES 3.10.5
Program glslang found: YES (/usr/bin/glslang)
Program git found: YES (/usr/bin/git)
Has header "NVCtrl/NVCtrl.h" : YES
Compiler for C supports link arguments -Wl,-Bsymbolic-functions: YES
Compiler for C supports link arguments -Wl,-z,relro: YES
Compiler for C supports link arguments -Wl,--exclude-libs,ALL: YES
Compiler for C supports link arguments -lGL: YES
Compiler for C supports link arguments -static-libstdc++: YES
WARNING: extract_all_objects called without setting recursive
keyword argument. Meson currently defaults to
non-recursive to maintain backward compatibility but
the default will be changed in the future.
Configuring MangoHud.x86.json using configuration
Configuring mangohud using configuration
Program appstreamcli found: YES (/usr/bin/appstreamcli)
Build targets in project: 11
MangoHud v0.7.2
Subprojects
imgui : YES
implot : YES
nlohmann_json : YES
spdlog : YES
vulkan-headers : YES
User defined options
libdir : lib/mangohud/lib
prefix : /usr
append_libdir_mangohud: false
with_wayland : disabled
Found ninja-1.10.0 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
-
build (
-Dwith_wayland=disabled)
ninja -C build32/
ninja: Entering directory `build32/'
[2/109] Generating src/overlay.frag.spv.h with a custom command
../src/overlay.frag
[5/109] Generating src/overlay.vert.spv.h with a custom command
../src/overlay.vert
[47/109] Compiling C++ object src/libMangoHud_opengl.so.p/gl_inject_egl.cpp.o
FAILED: src/libMangoHud_opengl.so.p/gl_inject_egl.cpp.o
/usr/bin/g++-13 -m32 -Isrc/libMangoHud_opengl.so.p -Isrc -I../src -I../include -Isubprojects/imgui-1.89.9 -I../subprojects/imgui-1.89.9 -I../subprojects/imgui-1.89.9/backends -I../subprojects/spdlog-1.14.1/include -I../subprojects/Vulkan-Headers-1.2.158/include -I../subprojects/nlohmann_json-3.10.5/single_include -Isubprojects/implot-0.16 -I../subprojects/implot-0.16 -I. -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c++14 -O3 -Werror=missing-declarations -Werror=return-type -Wno-unused-parameter -fno-math-errno -fno-trapping-math -Wno-non-virtual-dtor -Wno-missing-field-initializers -fPIC -pthread '-DIMGUI_API=__attribute__((visibility("default")))' -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="v0.7.2"' -DSPDLOG_COMPILED_LIB -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_DEBUG -D_GNU_SOURCE -DHAVE_PTHREAD -DUSE_GCC_ATOMIC_BUILTINS -DHAVE_TIMESPEC_GET -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64 -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL -DHAVE___BUILTIN_UNREACHABLE '-DMANGOHUD_ARCH="32bit"' -DHAVE_NVML -DHAVE_XNVCTRL -DHAVE_X11 -DHAVE_DBUS -DVK_USE_PLATFORM_XLIB_KHR -MD -MQ src/libMangoHud_opengl.so.p/gl_inject_egl.cpp.o -MF src/libMangoHud_opengl.so.p/gl_inject_egl.cpp.o.d -o src/libMangoHud_opengl.so.p/gl_inject_egl.cpp.o -c ../src/gl/inject_egl.cpp
In file included from ../src/gl/inject_egl.cpp:13:
../src/wayland_hook.h:1:10: fatal error: wayland-client.h: No such file or directory
1 | #include <wayland-client.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
[64/109] Compiling C++ object subprojects/implot-0.16/libimplot.a.p/implot_items.cpp.o
ninja: build stopped: subcommand failed.
Would you be interested if I have a look at your build.sh script and see if it is possible to include details for Gentoo in there?
If you like, but isn't an ebuild preferable on Gentoo anyway?