I've been trying to build the system 76 keyboard configurator (https://github.com/pop-os/keyboard-configurator) with cargo, but I keep getting the following error:
error: failed to run custom build command for 'system76-keyboard-configurator v1.3.0 (/home/myuser/source/keyboard-configurator)'
Caused by: process didn't exit successfully: '/home/myuser/source/keyboard-configurator/target/release/build/system76-keyboard-configurator-fcba57b6e3fa23d8/build-script-build' (exit status: 101) --- stderr thread 'main' panicked at 'called 'Result::unwrap()' on an 'Err' value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /home/myuser/.cargo/registry/src/github.com-1ecc6299db9ec823/gio-0.15.10/src/resource.rs:56:10 note: run with 'RUST_BACKTRACE=1' environment variable to display a backtrace warning: build failed, waiting for other jobs to finish...
I'm using void linux(GNU), so I installed the xbps equivalent packages of the dependencies (cargo gtk+3-devel hidapi-devel eudev-libudev-devel
). I also have the necessary pkgconfig
package. I've also tried to build the previous commit for release 1.3.0, to no success. I was expecting this to build, but I'm not sure what's going wrong. Does anyone know what could be wrong here?
the problem is on the 56th line of resource.rs
as per the error message.
here is the panicking code in question
49 let status = Command::new("glib-compile-resources")
50 .arg("--sourcedir")
51 .arg(source_dir.as_ref())
52 .arg("--target")
53 .arg(&format!("{}/{}", out_dir, target))
54 .arg(gresource)
55 .status()
56 .unwrap();
this code builds a "glib-compile-resources" command, which is provided by glib-devel
. this package is a dependency of libgtk-3-dev on debian as libglib2.0-dev
, but not of gtk+3-devel
on void, which explains why it isn't listed as a dependency.
the build should complete after installing glib-devel