KunalBagaria / rustyvibes

A Rust CLI that makes mechanical keyboard sound effects on every key press
https://github.com/kunalbagaria/rustyvibes
MIT License
208 stars 26 forks source link

Unable to install on Ubuntu 22.04, missing 'alsa"? #26

Closed fsevenm closed 1 year ago

fsevenm commented 1 year ago

This is the error my terminal showed when doing cargo install rustyvibes:

❯ cargo install rustyvibes
    Updating crates.io index
  Installing rustyvibes v1.0.9
   Compiling libc v0.2.139
   Compiling proc-macro2 v1.0.49
   Compiling quote v1.0.23
   Compiling unicode-ident v1.0.6
   Compiling syn v1.0.107
   Compiling autocfg v1.1.0
   Compiling pkg-config v0.3.26
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.4
   Compiling bitflags v1.3.2
   Compiling scopeguard v1.1.0
   Compiling thiserror v1.0.38
   Compiling lock_api v0.4.9
   Compiling memoffset v0.6.5
   Compiling proc-macro-error-attr v1.0.4
   Compiling io-lifetimes v1.0.3
   Compiling alsa-sys v0.3.1
   Compiling parking_lot_core v0.8.6
error: failed to run custom build command for `alsa-sys v0.3.1`

Caused by:
  process didn't exit successfully: `/tmp/cargo-installj00Po2/release/build/alsa-sys-4ca086f333ea3780/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=ALSA_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=ALSA_STATIC
  cargo:rerun-if-env-changed=ALSA_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 '`"pkg-config" "--libs" "--cflags" "alsa"` did not exit successfully: exit status: 1
  error: could not find system library 'alsa' required by the 'alsa-sys' crate

  --- stderr
  Package alsa was not found in the pkg-config search path.
  Perhaps you should add the directory containing `alsa.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'alsa' found
  ', /home/fsevenm/.cargo/registry/src/github.com-1ecc6299db9ec823/alsa-sys-0.3.1/build.rs:13:18
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile `rustyvibes v1.0.9`, intermediate artifacts can be found at `/tmp/cargo-installj00Po2`

I have alsa installed.

❯ which alsa
/usr/sbin/alsa
fsevenm commented 1 year ago

Never mind, doing sudo apt install librust-alsa-sys-dev fixed the issue.