Home > other >  How to build system76 keyboard configurator with cargo on void?
How to build system76 keyboard configurator with cargo on void?

Time:02-05

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

  • Related