Hi, I recently wanted to use Fermium in my project, it compiled without any problem on Windows but when I tried to compile the same Rust project on PopOS the build crashed due to a CMake error. It seems that it might have some dependencies missing but I'm honestly not good with CMake so some help figuring out the cause of the crash would be much appreciated.
(I also have build-essential installed if it's relevant)
Here's the output of an isolated Rust project that only has fermium = "20016.1.1" in it's Cargo.toml.
$cargo build --release
Compiling fermium v20016.1.1
error: failed to run custom build command for `fermium v20016.1.1`
Caused by:
process didn't exit successfully: `/home/blid/fer/target/release/build/fermium-a6aecb6d2a9c9f0a/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-changed=build.rs
target:x86_64-unknown-linux-gnu
out_dir:/home/blid/fer/target/release/build/fermium-0a20cbe7ae94275e/out
cargo_manifest_dir:/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1
dll_from:/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2.dll
dll_to:/home/blid/fer/target/release/build/fermium-0a20cbe7ae94275e/out/SDL2.dll
CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
HOST_CMAKE_TOOLCHAIN_FILE = None
CMAKE_TOOLCHAIN_FILE = None
CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
HOST_CMAKE_GENERATOR = None
CMAKE_GENERATOR = None
CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
HOST_CMAKE_PREFIX_PATH = None
CMAKE_PREFIX_PATH = None
CMAKE_x86_64-unknown-linux-gnu = None
CMAKE_x86_64_unknown_linux_gnu = None
HOST_CMAKE = None
CMAKE = None
running: "cmake" "/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16" "-DSDL_SHARED=ON" "-DSDL_STATIC=ON" "-DHIDAPI=ON" "-DCMAKE_INSTALL_PREFIX=/home/blid/fer/target/release/build/fermium-0a20cbe7ae94275e/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Release"
-- dynamic libasound -> libasound.so.2
-- dynamic libjack -> libjack.so
-- dynamic libpipewire-0.3 -> libpipewire-0.3.so
-- dynamic libpulse-simple -> libpulse-simple.so.0
-- Checking for module 'esound'
-- No package 'esound' found
-- dynamic libsndio -> libsndio.so.7
-- Checking for modules 'bcm_host;brcmegl'
-- No package 'bcm_host' found
-- No package 'brcmegl' found
-- dynamic libX11 -> libX11.so.6
-- dynamic libXext -> libXext.so.6
-- dynamic libXcursor -> libXcursor.so.1
-- dynamic libXinerama -> libXinerama.so.1
-- dynamic libXi -> libXi.so.6
-- dynamic libXrandr -> libXrandr.so.2
-- dynamic libXrender -> libXrender.so.1
-- dynamic libXss -> libXss.so.1
-- dynamic libXxf86vm -> libXxf86vm.so.1
-- Checking for modules 'libdrm;gbm;egl'
-- No package 'libdrm' found
-- No package 'gbm' found
-- dynamic libwayland-client -> libwayland-client.so.0
-- dynamic libwayland-egl -> libwayland-egl.so.1
-- dynamic libwayland-cursor -> libwayland-cursor.so.0
-- dynamic libxkbcommon -> libxkbcommon.so.0
-- Checking for module 'libdecor-0'
-- No package 'libdecor-0' found
-- Checking for module 'libusb-1.0'
-- No package 'libusb-1.0' found
--
-- SDL2 was configured with the following options:
--
-- Platform: Linux-5.17.15-76051715-generic
-- 64-bit: TRUE
-- Compiler: /usr/bin/cc
--
-- Subsystems:
-- Atomic: ON
-- Audio: ON
-- Video: ON
-- Render: ON
-- Events: ON
-- Joystick: ON
-- Haptic: ON
-- Power: ON
-- Threads: ON
-- Timers: ON
-- File: ON
-- Loadso: ON
-- CPUinfo: ON
-- Filesystem: ON
-- Dlopen: ON
-- Sensor: ON
-- Locale: ON
--
-- Options:
-- 3DNOW (Wanted: ON): ON
-- ALSA (Wanted: ON): ON
-- ALSA_SHARED (Wanted: ON): ON
-- ALTIVEC (Wanted: ON): OFF
-- ARMNEON (Wanted: OFF): OFF
-- ARMSIMD (Wanted: OFF): OFF
-- ARTS (Wanted: ON): OFF
-- ARTS_SHARED (Wanted: ON): OFF
-- ASAN (Wanted: OFF): OFF
-- ASSEMBLY (Wanted: ON): ON
-- ASSERTIONS (Wanted: auto): auto
-- BACKGROUNDING_SIGNAL (Wanted: OFF): OFF
-- CLOCK_GETTIME (Wanted: OFF): OFF
-- DIRECTFB_SHARED (Wanted: OFF): OFF
-- DIRECTX (Wanted: OFF): OFF
-- DISKAUDIO (Wanted: ON): ON
-- DUMMYAUDIO (Wanted: ON): ON
-- ESD (Wanted: ON): OFF
-- ESD_SHARED (Wanted: ON): OFF
-- FOREGROUNDING_SIGNAL (Wanted: OFF): OFF
-- FUSIONSOUND (Wanted: OFF): OFF
-- FUSIONSOUND_SHARED (Wanted: OFF): OFF
-- GCC_ATOMICS (Wanted: ON): ON
-- HIDAPI (Wanted: ON): OFF
-- JACK (Wanted: ON): ON
-- JACK_SHARED (Wanted: ON): ON
-- JOYSTICK_VIRTUAL (Wanted: ON): OFF
-- KMSDRM_SHARED (Wanted: ON): OFF
-- LIBC (Wanted: ON): ON
-- LIBDECOR_SHARED (Wanted: ON): OFF
-- LIBSAMPLERATE (Wanted: ON): OFF
-- LIBSAMPLERATE_SHARED (Wanted: ON): OFF
-- MMX (Wanted: ON): ON
-- NAS (Wanted: ON): OFF
-- NAS_SHARED (Wanted: ON): OFF
-- OSS (Wanted: ON): ON
-- PIPEWIRE (Wanted: ON): ON
-- PIPEWIRE_SHARED (Wanted: ON): ON
-- PTHREADS (Wanted: ON): ON
-- PTHREADS_SEM (Wanted: ON): ON
-- PULSEAUDIO (Wanted: ON): ON
-- PULSEAUDIO_SHARED (Wanted: ON): ON
-- RENDER_D3D (Wanted: OFF): OFF
-- RENDER_METAL (Wanted: OFF): OFF
-- RPATH (Wanted: ON): ON
-- SDL_DLOPEN (Wanted: ON): ON
-- SDL_STATIC_PIC (Wanted: OFF): OFF
-- SDL_TEST (Wanted: OFF): OFF
-- SNDIO (Wanted: ON): ON
-- SNDIO_SHARED (Wanted: ON): ON
-- SSE (Wanted: ON): ON
-- SSE2 (Wanted: ON): ON
-- SSE3 (Wanted: ON): ON
-- SSEMATH (Wanted: ON): OFF
-- VIDEO_COCOA (Wanted: OFF): OFF
-- VIDEO_DIRECTFB (Wanted: OFF): OFF
-- VIDEO_DUMMY (Wanted: ON): ON
-- VIDEO_KMSDRM (Wanted: ON): OFF
-- VIDEO_METAL (Wanted: OFF): OFF
-- VIDEO_OFFSCREEN (Wanted: OFF): OFF
-- VIDEO_OPENGL (Wanted: ON): ON
-- VIDEO_OPENGLES (Wanted: ON): ON
-- VIDEO_RPI (Wanted: ON): OFF
-- VIDEO_VIVANTE (Wanted: ON): OFF
-- VIDEO_VULKAN (Wanted: ON): ON
-- VIDEO_WAYLAND (Wanted: ON): ON
-- VIDEO_WAYLAND_QT_TOUCH (Wanted: ON): ON
-- VIDEO_X11 (Wanted: ON): ON
-- VIDEO_X11_XCURSOR (Wanted: ON): ON
-- VIDEO_X11_XINERAMA (Wanted: ON): ON
-- VIDEO_X11_XINPUT (Wanted: ON): ON
-- VIDEO_X11_XRANDR (Wanted: ON): ON
-- VIDEO_X11_XSCRNSAVER (Wanted: ON): ON
-- VIDEO_X11_XSHAPE (Wanted: ON): ON
-- VIDEO_X11_XVM (Wanted: ON): ON
-- WASAPI (Wanted: OFF): OFF
-- WAYLAND_LIBDECOR (Wanted: ON): OFF
-- WAYLAND_SHARED (Wanted: ON): ON
-- X11_SHARED (Wanted: ON): ON
-- XINPUT (Wanted: OFF): OFF
--
-- CFLAGS: -ffunction-sections -fdata-sections -fPIC -m64 -idirafter "/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/video/khronos" -DHAVE_LINUX_VERSION_H
-- EXTRA_CFLAGS: -I/usr/include -I/usr/include/spa-0.2 -I/usr/include/pipewire-0.3 -D_REENTRANT -msse3 -msse2 -msse -m3dnow -mmmx -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -fno-strict-aliasing -Wall
-- EXTRA_LDFLAGS: -Wl,--no-undefined;-pthread
-- EXTRA_LIBS: m;dbus-1;ibus-1.0;gio-2.0;gobject-2.0;glib-2.0
--
-- Build Shared Library: ON
-- Build Static Library: ON
-- Build Static Library with Position Independent Code: OFF
--
-- If something was not detected, although the libraries
-- were installed, then make sure you have set the
-- CFLAGS and LDFLAGS environment variables correctly.
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/blid/fer/target/release/build/fermium-0a20cbe7ae94275e/out/build
running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--parallel" "8"
Consolidate compiler generated dependencies of target SDL2main
[ 1%] Built target SDL2main
Consolidate compiler generated dependencies of target SDL2-static
Consolidate compiler generated dependencies of target SDL2
[ 2%] Building C object CMakeFiles/SDL2-static.dir/src/audio/jack/SDL_jackaudio.c.o
[ 2%] Building C object CMakeFiles/SDL2-static.dir/src/audio/pipewire/SDL_pipewire.c.o
[ 2%] Building C object CMakeFiles/SDL2-static.dir/src/audio/pulseaudio/SDL_pulseaudio.c.o
[ 2%] Building C object CMakeFiles/SDL2.dir/src/audio/jack/SDL_jackaudio.c.o
[ 3%] Building C object CMakeFiles/SDL2-static.dir/src/video/x11/SDL_x11clipboard.c.o
[ 3%] Building C object CMakeFiles/SDL2.dir/src/audio/pipewire/SDL_pipewire.c.o
[ 4%] Building C object CMakeFiles/SDL2.dir/src/audio/sndio/SDL_sndioaudio.c.o
[ 4%] Building C object CMakeFiles/SDL2-static.dir/src/audio/sndio/SDL_sndioaudio.c.o
[ 4%] Building C object CMakeFiles/SDL2.dir/src/video/x11/SDL_x11dyn.c.o
[ 4%] Building C object CMakeFiles/SDL2.dir/src/video/x11/SDL_x11clipboard.c.o
--- stderr
gmake: warning: -j8 forced in submake: resetting jobserver mode.
In file included from /home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/jack/SDL_jackaudio.c:28:
/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/jack/SDL_jackaudio.h:24:10: fatal error: jack/jack.h: No such file or directory
24 | #include <jack/jack.h>
| ^~~~~~~~~~~~~
compilation terminated.
In file included from /home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/pipewire/SDL_pipewire.c:29:
/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/pipewire/SDL_pipewire.h:28:10: fatal error: pipewire/pipewire.h: No such file or directory
28 | #include <pipewire/pipewire.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/pipewire/SDL_pipewire.c:29:
/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/pipewire/SDL_pipewire.h:28:10: fatal error: pipewire/pipewire.h: No such file or directory
28 | #include <pipewire/pipewire.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/SDL2-static.dir/build.make:1814: CMakeFiles/SDL2-static.dir/src/audio/pipewire/SDL_pipewire.c.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/SDL2-static.dir/build.make:1800: CMakeFiles/SDL2-static.dir/src/audio/jack/SDL_jackaudio.c.o] Error 1
gmake[2]: *** [CMakeFiles/SDL2.dir/build.make:1814: CMakeFiles/SDL2.dir/src/audio/pipewire/SDL_pipewire.c.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/jack/SDL_jackaudio.c:28:
/home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/fermium-20016.1.1/SDL2-2.0.16/src/audio/jack/SDL_jackaudio.h:24:10: fatal error: jack/jack.h: No such file or directory
24 | #include <jack/jack.h>
| ^~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/SDL2.dir/build.make:1800: CMakeFiles/SDL2.dir/src/audio/jack/SDL_jackaudio.c.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/SDL2-static.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:114: CMakeFiles/SDL2.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
thread 'main' panicked at '
command did not execute successfully, got: exit status: 2
build script failed, must exit now', /home/blid/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.48/src/lib.rs:975:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Thanks in advance! :D
Hi, I recently wanted to use Fermium in my project, it compiled without any problem on Windows but when I tried to compile the same Rust project on PopOS the build crashed due to a CMake error. It seems that it might have some dependencies missing but I'm honestly not good with CMake so some help figuring out the cause of the crash would be much appreciated.
(I also have
build-essentialinstalled if it's relevant)Here's the output of an isolated Rust project that only has
fermium = "20016.1.1"in it'sCargo.toml.Thanks in advance! :D