linuxrustrust-cargo

rust compilation - failed to run custom build command for libseat-sys v0.1.7 - The system library libseat required by crate libseat-sys was not found


im new to Linux since about a week and am trying to install asusctl which is the Linux version of the ROG Control Center onto pop-os 22.04 LTS.

When i try to compile things, i always get this error and have no clue what to do about it. I read the entire error log, but i just don't know what to do. Neither can i find any specific existing topics with the error i receive.

ran this to install cargo / rust

sudo apt install cargo

this to install the dependencies

sudo apt install libgtk-3-dev libpango1.0-dev \
    libgdk-pixbuf-2.0-dev libglib2.0-dev cmake \
    libclang-dev libudev-dev libayatana-appindicator3-1 \
    cargo

and this to compile & install

git clone INSERT.GITLAB.URL HEREdotCOM/asus-linux/asusctl
cd asusctl
make
sudo make install

however i always receive this error at the bottom that the system library libseat required by crate libseat-sys was not found etc.

git clone GITHUBURL.../asus-linux/asusctl
cd asusctl
make
sudo make install
Cloning into 'asusctl'...
warning: redirecting to GITLABURL-asus-linux/asusctl.git/
remote: Enumerating objects: 11743, done.
remote: Counting objects: 100% (681/681), done.
remote: Compressing objects: 100% (403/403), done.
remote: Total 11743 (delta 423), reused 404 (delta 268), pack-reused 11062
Receiving objects: 100% (11743/11743), 15.00 MiB | 27.39 MiB/s, done.
Resolving deltas: 100% (7992/7992), done.
cargo build --release
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling autocfg v1.1.0
   Compiling libc v0.2.153
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.4
   Compiling serde v1.0.197
   Compiling portable-atomic v1.6.0
   Compiling critical-section v1.1.2
   Compiling pin-project-lite v0.2.13
   Compiling log v0.4.21
   Compiling pkg-config v0.3.30
   Compiling syn v1.0.109
   Compiling rustix v0.38.31
   Compiling linux-raw-sys v0.4.13
   Compiling once_cell v1.19.0
   Compiling zerocopy v0.7.32
   Compiling libm v0.2.8
   Compiling allocator-api2 v0.2.16
   Compiling cc v1.0.88
   Compiling memchr v2.7.1
   Compiling bitflags v1.3.2
   Compiling equivalent v1.0.1
   Compiling crossbeam-utils v0.8.19
   Compiling ahash v0.8.10
   Compiling slab v0.4.9
   Compiling num-traits v0.2.18
   Compiling toml_datetime v0.6.5
   Compiling winnow v0.5.40
   Compiling futures-core v0.3.30
   Compiling parking v2.2.0
   Compiling memoffset v0.9.0
   Compiling crc32fast v1.4.0
   Compiling fastrand v2.0.1
   Compiling smallvec v1.13.1
   Compiling libloading v0.8.2
   Compiling hashbrown v0.14.3
   Compiling futures-io v0.3.30
   Compiling pin-utils v0.1.0
   Compiling quote v1.0.35
   Compiling static_assertions v1.1.0
   Compiling adler v1.0.2
   Compiling futures-lite v2.2.0
   Compiling concurrent-queue v2.4.0
   Compiling typenum v1.17.0
   Compiling dlib v0.5.2
   Compiling syn v2.0.52
   Compiling event-listener v4.0.3
   Compiling event-listener v5.2.0
   Compiling wayland-sys v0.31.1
   Compiling generic-array v0.14.7
   Compiling tracing-core v0.1.32
   Compiling event-listener-strategy v0.4.0
   Compiling indexmap v2.2.5
   Compiling event-listener-strategy v0.5.0
   Compiling async-lock v3.3.0
   Compiling async-task v4.7.0
   Compiling atomic-waker v1.1.2
   Compiling piper v0.2.1
   Compiling async-channel v2.2.0
   Compiling thiserror v1.0.57
   Compiling aho-corasick v1.1.2
   Compiling regex-syntax v0.8.2
   Compiling arrayvec v0.7.4
   Compiling ttf-parser v0.20.0
   Compiling wayland-backend v0.3.3
   Compiling libudev-sys v0.1.4
   Compiling simd-adler32 v0.3.7
   Compiling getrandom v0.2.12
   Compiling memmap2 v0.9.4
   Compiling ppv-lite86 v0.2.17
   Compiling futures-sink v0.3.30
   Compiling rand_core v0.6.4
   Compiling downcast-rs v1.2.0
   Compiling async-trait v0.1.77
   Compiling scoped-tls v1.0.1
   Compiling miniz_oxide v0.7.2
   Compiling async-executor v1.8.0
   Compiling quick-xml v0.31.0
   Compiling lock_api v0.4.11
   Compiling toml_edit v0.21.1
   Compiling toml_edit v0.19.15
   Compiling rand_chacha v0.3.1
   Compiling cpufeatures v0.2.12
   Compiling futures-task v0.3.30
   Compiling base64 v0.21.7
   Compiling futures-util v0.3.30
   Compiling flate2 v1.0.28
   Compiling crypto-common v0.1.6
   Compiling block-buffer v0.10.4
   Compiling rand v0.8.5
   Compiling xdg-home v1.1.0
   Compiling digest v0.10.7
   Compiling wayland-scanner v0.31.1
   Compiling ordered-stream v0.2.0
   Compiling sha1 v0.10.6
   Compiling convert_case v0.4.0
   Compiling endi v1.1.0
   Compiling hex v0.4.3
   Compiling io-lifetimes v1.0.11
   Compiling regex-automata v0.4.5
   Compiling rustversion v1.0.14
   Compiling tinyvec_macros v0.1.1
   Compiling cfg_aliases v0.1.1
   Compiling color_quant v1.1.0
   Compiling tinyvec v1.6.0
   Compiling fdeflate v0.3.4
   Compiling proc-macro-crate v3.1.0
   Compiling proc-macro-crate v1.3.1
   Compiling float-cmp v0.9.0
   Compiling png v0.17.13
   Compiling strict-num v0.1.1
   Compiling udev v0.7.0
   Compiling async-broadcast v0.7.0
   Compiling memoffset v0.7.1
   Compiling zvariant_utils v1.1.0
   Compiling slotmap v1.0.7
   Compiling serde_json v1.0.114
   Compiling heck v0.4.1
   Compiling arrayref v0.3.7
   Compiling khronos_api v3.1.0
   Compiling semver v1.0.22
   Compiling ryu v1.0.17
   Compiling itoa v1.0.10
   Compiling roxmltree v0.19.0
   Compiling bytemuck v1.14.3
   Compiling crossbeam-epoch v0.9.18
   Compiling regex v1.10.3
   Compiling byteorder v1.5.0
   Compiling xkeysym v0.2.0
   Compiling rayon-core v1.12.1
   Compiling xml-rs v0.8.19
   Compiling fontconfig-parser v0.5.6
   Compiling rustc_version v0.4.0
   Compiling crossbeam-deque v0.8.5
   Compiling nix v0.26.4
   Compiling libusb1-sys v0.6.4
   Compiling unicode-properties v0.1.1
   Compiling serde_derive v1.0.197
   Compiling tracing-attributes v0.1.27
   Compiling bytemuck_derive v1.5.0
   Compiling enumflags2_derive v0.7.9
   Compiling thiserror-impl v1.0.57
   Compiling serde_repr v0.1.18
   Compiling strum_macros v0.26.1
   Compiling gl_generator v0.14.0
   Compiling fontdb v0.16.2
   Compiling derivative v2.2.0
   Compiling zvariant_derive v4.0.2
   Compiling derive_more v0.99.17
   Compiling zbus_macros v4.0.1
   Compiling scopeguard v1.2.0
   Compiling iana-time-zone v0.1.60
   Compiling unicode-script v0.5.6
   Compiling as-raw-xcb-connection v1.0.1
   Compiling event-listener v2.5.3
   Compiling chrono v0.4.34
   Compiling tiny-skia-path v0.11.4
   Compiling tracing v0.1.40
   Compiling blocking v1.5.1
   Compiling tiny-skia v0.11.4
   Compiling tokio-macros v2.2.0
   Compiling async-fs v2.1.1
   Compiling typeshare-annotation v1.0.3
   Compiling field-offset v0.3.6
   Compiling euclid v0.22.9
   Compiling mio v0.8.11
   Compiling num_cpus v1.16.0
   Compiling socket2 v0.5.6
   Compiling x11-dl v2.21.0
   Compiling smithay-client-toolkit v0.18.1
   Compiling cursor-icon v1.1.0
   Compiling temp-dir v0.1.12
   Compiling either v1.10.0
   Compiling xcursor v0.3.5
   Compiling gettext-sys v0.21.3
   Compiling tokio v1.36.0
   Compiling lyon_geom v1.0.5
   Compiling kurbo v0.10.4
   Compiling miniz_oxide v0.4.4
   Compiling polling v2.8.0
   Compiling raw-window-handle v0.5.2
   Compiling unicode-bidi-mirroring v0.1.0
   Compiling siphasher v0.3.11
   Compiling rusb v0.9.3
   Compiling rustix v0.37.27
   Compiling unicode-bidi v0.3.15
   Compiling pix v0.13.3
   Compiling waker-fn v1.1.1
   Compiling fastrand v1.9.0
   Compiling unicode-ccc v0.1.2
   Compiling futures-lite v1.13.0
   Compiling lyon_path v1.0.4
   Compiling spin v0.9.8
   Compiling svgtypes v0.14.0
   Compiling rayon v1.9.0
   Compiling i-slint-common v1.5.0 (ANOTHERGITHUBURLcom/flukejones/sixtyfps.git#42a407b6)
   Compiling rgb v0.8.37
   Compiling async-lock v2.8.0
   Compiling const-field-offset-macro v0.1.4 (ANOTHERGITHUBURL.com/flukejones/sixtyfps.git#42a407b6)
   Compiling inotify-sys v0.1.5
   Compiling kurbo v0.9.5
   Compiling async-io v1.13.0
   Compiling simplecss v0.2.1
   Compiling unicode-ccc v0.2.0
   Compiling x11rb-protocol v0.13.0
   Compiling linux-raw-sys v0.3.8
   Compiling pico-args v0.5.0
   Compiling weezl v0.1.8
   Compiling bitflags v2.4.2
   Compiling unicode-bidi-mirroring v0.2.0
   Compiling xmlwriter v0.1.0
   Compiling lazy_static v1.4.0
   Compiling imagesize v0.12.0
   Compiling data-url v0.3.1
   Compiling jpeg-decoder v0.3.1
   Compiling unicode-vo v0.1.0
   Compiling rustybuzz v0.12.1
   Compiling locale_config v0.3.0
   Compiling const-field-offset v0.1.4 (GITHUBURL/flukejones/sixtyfps.git#42a407b6)
   Compiling inotify v0.10.2
   Compiling image v0.24.9
   Compiling flume v0.11.0
   Compiling enumflags2 v0.7.9
   Compiling nix v0.27.1
   Compiling zvariant v4.0.2
   Compiling ron v0.8.1
   Compiling rustybuzz v0.13.0
   Compiling typeshare v1.0.2
   Compiling glutin_egl_sys v0.6.0
   Compiling glutin_glx_sys v0.5.0
   Compiling pin-project-internal v1.1.4
   Compiling vtable-macro v0.2.0 (GITHUBURL.git#42a407b6)
   Compiling concat-idents v1.1.5
   Compiling dmi_id v6.0.0-alpha1 (/home/xx/asusctl/dmi-id)
   Compiling unicode-normalization v0.1.23
   Compiling derive_utils v0.14.1
   Compiling owned_ttf_parser v0.20.0
   Compiling usvg v0.40.0
   Compiling zune-inflate v0.2.54
   Compiling socket2 v0.4.10
   Compiling half v2.4.0
   Compiling percent-encoding v2.3.1
   Compiling bit_field v0.10.2
   Compiling stable_deref_trait v1.2.0
   Compiling zbus_names v3.0.0
   Compiling unicode-segmentation v1.11.0
   Compiling lebe v0.5.2
   Compiling ab_glyph_rasterizer v0.1.8
   Compiling drm-sys v0.4.0
   Compiling ab_glyph v0.2.23
   Compiling gif v0.13.1
   Compiling pin-project v1.1.4
   Compiling exr v1.72.0
   Compiling gif v0.12.0
   Compiling vtable v0.2.0 (GITHUBURL/flukejones/sixtyfps.git#42a407b6)
   Compiling form_urlencoded v1.2.1
   Compiling auto_enums v0.8.5
   Compiling idna v0.5.0
   Compiling png_pong v0.8.2
   Compiling tiff v0.9.1
   Compiling fontdue v0.8.0
   Compiling resvg v0.40.0
   Compiling gettext-rs v0.7.0
   Compiling toml v0.5.11
   Compiling glam v0.22.0
   Compiling lyon_algorithms v1.0.4
   Compiling lyon_extra v1.0.1
   Compiling strum v0.26.1
   Compiling i-slint-core-macros v1.5.0 (GITHUBURL/flukejones/sixtyfps.git#42a407b6)
   Compiling num_enum_derive v0.7.2
   Compiling polling v3.5.0
   Compiling qoi v0.4.1
   Compiling async-io v2.3.1
   Compiling calloop v0.12.4
   Compiling winit v0.29.13
   Compiling glutin v0.31.3
   Compiling integer-sqrt v0.1.5
   Compiling is-terminal v0.4.12
   Compiling zbus v4.0.1
   Compiling async-fs v1.6.0
   Compiling wayland-client v0.31.2
   Compiling wayland-csd-frame v0.3.0
   Compiling pin-weak v1.1.0
   Compiling linked-hash-map v0.5.6
   Compiling drm-fourcc v2.2.0
   Compiling text-size v1.1.1
   Compiling clru v0.6.1
   Compiling humantime v2.1.0
   Compiling rustc-hash v1.1.0
   Compiling unicode-linebreak v0.1.5
   Compiling termcolor v1.4.1
   Compiling codemap v0.1.3
   Compiling scoped-tls-hkt v0.1.4
   Compiling countme v3.0.1
   Compiling i-slint-compiler v1.5.0 (GIT/flukejones/sixtyfps.git#42a407b6)
   Compiling num_enum v0.7.2
   Compiling css-color-parser2 v1.0.1
   Compiling i-slint-core v1.5.0 (GITHUB/flukejones/sixtyfps.git#42a407b6)
   Compiling codemap-diagnostic v0.1.2
   Compiling env_logger v0.10.2
   Compiling rowan v0.15.15
   Compiling linked_hash_set v0.1.4
   Compiling config-traits v6.0.0-alpha1 (/home/xx/asusctl/config-traits)
   Compiling url v2.5.0
   Compiling xkbcommon-dl v0.4.2
   Compiling itertools v0.12.1
   Compiling libseat-sys v0.1.7
   Compiling x11rb v0.12.0
   Compiling fnv v1.0.7
   Compiling smol_str v0.2.1
   Compiling input-sys v1.18.0
   Compiling lru v0.12.3
   Compiling by_address v1.1.0
   Compiling raw-window-handle v0.6.0
   Compiling wayland-protocols v0.31.2
   Compiling wayland-cursor v0.31.1
   Compiling calloop-wayland-source v0.2.0
   Compiling glow v0.13.1
   Compiling imgref v1.10.1
   Compiling gbm-sys v0.2.2
   Compiling spin_on v0.1.1
error: failed to run custom build command for `libseat-sys v0.1.7`

Caused by:
  process didn't exit successfully: `/home/xx/asusctl/target/release/build/libseat-sys-25aabf60dbaeba81/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=LIBSEAT_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=LIBSEAT_STATIC
  cargo:rerun-if-env-changed=LIBSEAT_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  thread 'main' panicked at /home/sd/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libseat-sys-0.1.7/build.rs:30:42:
  called `Result::unwrap()` on an `Err` value: 
  pkg-config exited with status code 1
  > PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags libseat

  The system library `libseat` required by crate `libseat-sys` was not found.
  The file `libseat.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
  The PKG_CONFIG_PATH environment variable is not set.

  HINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing `libseat.pc`.

  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
make: *** [Makefile:141: build] Error 101
install -D -m 0755 "./target/release/rog-control-center" "/usr/bin/rog-control-center"
install: cannot stat './target/release/rog-control-center': No such file or directory
make: *** [Makefile:47: install-program] Error 1

Any idea what to do here? i tried uninstalling rust with

sudo apt remove rustc

but it doesn't help with my issue..

If anybody could point me towards a doc file or whatever explains the issue for not so tech savvy people i'd be happy..

I looked through the forums here and there appears to be somewhat similar issues, but none have helped me to fix the error.


Solution

  • So, if you run the command that the build script is trying to run - pkg-config --libs --cflags libseat - and it will tell you that libsystemd is missing. The package for this is libsystemd-dev

    This means that you need to run sudo apt install libsystemd-dev

    This is a dependencies error somewhere along the lines - probably by the libseat-dev packager.