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?
CodePudding user response:
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