JojiiOfficial / LiveBudsCli

A tool to control your Galaxy buds+, Live, Buds Pro and Buds 2 Pro
https://crates.io/crates/earbuds
GNU General Public License v3.0
193 stars 16 forks source link

Support for Ubuntu/Debian distros #21

Closed sam5558 closed 3 years ago

sam5558 commented 3 years ago

Hello,

Great project you have here, i'm just curious to know if it's possible to implement this on linux mint (without building manually from source) or if you will eventually provide support for other distros...

Do you plan on providing this through apt/yum/.deb ? Thank you,

JojiiOfficial commented 3 years ago

Since I don't use a dpkg based distro, I don't know that much about dpkg and its packaging system and can't make .deb packages. If there is someone who would create a .deb file, I'd add it to the release files. If it helps, I could try to provide a statically linked binary which you simply have to download and place at eg. /usr/bin.

sam5558 commented 3 years ago

Thank you for your reply, Yes why not ! Just give me the binary and tell me if i need to do something in particular.

JojiiOfficial commented 3 years ago

Unfortunately It is impossible to create a statically linked binary at the moment. libdbus-sys needs to be linked dynamically to an existing library. Since this library needs to be at the same exact location on every filesystem across all distros (which it isn't) I can't just upload my compiled binary, cause it'd only work on arch/artix. Just install cargo via apt or even better, rustup, and compile it yourself.

sam5558 commented 3 years ago

Hello, I executed the cargo command to build earbuds. However i experienced two issues, probably because i'm running it from Linux Mint (Some dependencies maybe missing ? Or wrong paths ?)

error[E0308]: mismatched types
   --> /home/zen/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-pulsectl-0.2.6/src/controllers/types.rs:204:20
    |
204 |             flags: item.flags,
    |                    ^^^^^^^^^^ expected struct `pulse::def::SinkFlagSet`, found struct `pulse::def::SourceFlagSet`

error[E0277]: the trait bound `pulse::error::Code: std::convert::From<pulse::error::PAErr>` is not satisfied
 --> /home/zen/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-pulsectl-0.2.6/src/errors.rs:7:32
  |
7 |         let code: Code = error.into();
  |                                ^^^^ the trait `std::convert::From<pulse::error::PAErr>` is not implemented for `pulse::error::Code`
  |
  = help: the following implementations were found:
            <pulse::error::Code as std::convert::From<libpulse_sys::error::pa_error_code_t>>
  = note: required because of the requirements on the impl of `std::convert::Into<pulse::error::Code>` for `pulse::error::PAErr`

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `rust-pulsectl`.

PS: I have pulseaudio installed.

JojiiOfficial commented 3 years ago

Use the latest git commit, then all issues should be fixed.

  1. Git clone
  2. cd into the cloned repo
  3. run cargo build --release

You'll find the binary inside ./target/release/

sam5558 commented 3 years ago

Hi again and sorry to bother :),

I did a git clone https://github.com/JojiiOfficial/LiveBudsCli.git then executed then cargo build --release command. Still got this issue related to "SinkFlagSet" and "SourceFlagSet"...

   Compiling from_variants_impl v0.4.0
    Buil    Building [=================================================>     ] 152/166: from_variants_impl, failure_derive, serde_derive, clap_derive                                                     Compiling libpulse-binding v2.22.0
   Compiling bluetooth-serial-port-async v0.6.1
   Compiling clap v3.0.0-beta.2
   Compiling rust-pulsectl-fork v0.2.7
error[E0308]: mismatched types
   --> /home/zen/.cargo/registry/src/github.com-1ecc6299db9ec823/rust-pulsectl-fork-0.2.7/src/controllers/types.rs:204:20
    |
204 |             flags: item.flags,
    |                    ^^^^^^^^^^ expected struct `pulse::def::SinkFlagSet`, found struct `pulse::def::SourceFlagSet`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.
error: could not compile `rust-pulsectl-fork`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
JojiiOfficial commented 3 years ago

Well this seems to be an issue from your distro (old pulseaudio version). You can prevent this error by don't using the pulse-sink feature. This reduces features like auto audio-sink switching. You can achieve that by running cargo build --no-default-features --release instead.

sam5558 commented 3 years ago

I've tried your command, still managed to get an issue :D

   Compiling failure v0.1.8
   Compiling from_variants v0.4.0
   Compiling clap_generate v3.0.0-beta.2
   Compiling galaxy_buds_live_rs v0.2.0
   Compiling mpris v2.0.0-rc2
   Compiling earbuds v0.1.7 (/home/zen/Téléchargements/tz/LiveBudsCli)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.0.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.1.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.10.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.11.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.12.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.13.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.14.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.15.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.2.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.3.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.4.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.5.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.6.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.7.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.8.rcgu.o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.earbuds.e9vu9jot-cgu.9.rcgu.o" "-o" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/earbuds-85bc02236b8b2b2e.47sixtcj70qm2s72.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnix-83d8e795aa7bead6.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libofiles-a89b47e19cdb0b79.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnix-471e0d86f81d9183.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libglob-e0e12d97e12d095e.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/liberror_chain-f311f01b6780faac.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libserde_json-8faa8e49b75faae9.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libryu-ec85db5ea5056a9b.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libitoa-c6216bbc9270ba48.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libtoml-2e0d3d09252f5e65.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libclap_generate-12e046f74d7af515.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libserde-ef96cc06f92b20ca.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libbluetooth_serial_port_async-5a03d6e122f562b9.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnix-b19d134e5fb478e4.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libvoid-26f64e2602326012.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libmio-43b8643366537bb0.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libiovec-96384c4b771ed3db.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnet2-e6c70871e34510bc.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libenum_primitive-a15448200f58b245.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnum_traits-1ea595ae19e1c2b0.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnum_traits-bf8da5acd1d71c58.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnotify_rust-cb8ee8b35159a131.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libmpris-4de703f462fc66c8.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libdbus-d70d7ab8cbf36a21.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libfrom_variants-d18eb1ff1a55b104.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libfailure-0093979cffd9a0ba.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libbacktrace-dc24d07aa0f06e9f.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libminiz_oxide-9c8e4cd8fdedd3fd.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libadler-aa05d2ef0539a050.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libobject-5dc3005f1765bc6b.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libaddr2line-7c93321646430aa4.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libgimli-05fbc4041ac7b8cf.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/librustc_demangle-6b222d6a5b297c58.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_std-9f0b4593071b0772.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libblocking-b910236104d51179.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libatomic_waker-778a525bc1b30fcb.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_channel-414ddf8367f7a290.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_global_executor-3bff87a9f0641702.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnum_cpus-7f1616cbf9d54e50.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_executor-638357c0ec01a653.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_task-d31ca92641483ece.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_io-91c345a238959064.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libnb_connect-a78544bf6d7fb27e.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libvec_arena-3f1735a77b1ea0c5.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libpolling-80f936d67def2d07.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libconcurrent_queue-1c197962288ae2db.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libcache_padded-9afd72e9e1f37632.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libonce_cell-f180c1625d2ddb43.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libfutures_lite-ce269064661656f2.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libmemchr-93948bf37fdf07fb.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libfastrand-fb73b0c47561d330.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libwaker_fn-09423327013bca70.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libparking-c7ff5d66339553d5.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libfutures_io-0975486201ea48cf.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libslab-bd2c9c4c8dfb4109.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libcrossbeam_utils-d0110d2ed03c66fb.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libcfg_if-afa498fb04453c3f.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libasync_mutex-5a86c2b28632d161.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libevent_listener-595c07a16ab8aa57.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libpin_project_lite-d5be00643e7d4bbf.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libfutures_core-aa3bf7ddd0190f8b.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libkv_log_macro-20ede5db9788b602.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/liblog-19ae3cab0dc66df9.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libcfg_if-4538d89b6d34b017.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libgalaxy_buds_live_rs-5d8cd20eaea78468.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libblurz-d75f281d23c479cd.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libhex-ebec194ccbcfbbdf.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libdbus-ac4f87864f5e3403.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/liblibdbus_sys-caeff43fa21d38e0.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libclap-8296bb2e8b9d87ba.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libstrsim-7e0b6bea18948ec0.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libatty-c6872ee2c365877c.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/liblibc-6378c947237dada6.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libtextwrap-fdb56b625d4df024.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libvec_map-1a06bcb0f716d2c9.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libos_str_bytes-61e4524a7dbf4a74.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libtermcolor-8123dab9fee670c5.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libunicode_width-e9f7e28636b31438.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libindexmap-b3de6e3e23a13184.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libhashbrown-97ec3105d7bfedec.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/libbitflags-04d4a626dc324750.rlib" "/home/zen/T\xc3\xa9l\xc3\xa9chargements/tz/LiveBudsCli/target/release/deps/liblazy_static-2167c1732418bde8.rlib" "-Wl,--start-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b1b61f01951b016b.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-1a219005f9510085.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-de703a5f53bf135e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-f8b5f83d4ba2b90f.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-c6dc8f69734bcae2.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-4546f4207f7495c9.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-2ac782148854dc56.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-cf897c39850c16b7.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-9d727da20068fc09.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bd6ee87558a376f2.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-182e50caadead100.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-88083985464b6af5.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-83ed8731003cd087.rlib" "-Wl,--end-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d61dbae1fa88f6f5.rlib" "-Wl,-Bdynamic" "-lbluetooth" "-lbluetooth" "-ldbus-1" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
  = note: /usr/bin/ld : ne peut trouver -lbluetooth
          /usr/bin/ld : ne peut trouver -lbluetooth
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: could not compile `earbuds`.

To learn more, run the command again with --verbose.

/usr/bin/ld can't find "lbluetooth"..

Also, can you tell me what is the minimal required version of pulseaudio for this to work ? I've somehow managed to update to pulseaudio 12.2-2.

Thank you,

JojiiOfficial commented 3 years ago

You probably have to install libbluetooth-dev (or libbluetooth3 if -dev isn't enough).

I've somehow managed to update to pulseaudio 12.2-2 I'm running pulseaudio 14.0. I can't tell the min version, just try it out.

Edit:

Interestingly I could reproduce the compilation error you got. I'm on it.

sam5558 commented 3 years ago

Installing libbluetooth-dev did the trick.

   Compiling earbuds v0.1.7 (/home/zen/Téléchargements/tz/LiveBudsCli)
    Finished release [optimized] target(s) in 22.42s

Thank you, it is now working...

Info for 'Galaxy Buds+ (7808)':

Battery:    L: 99%, R: 86%
Case:       72%
Equalizer:  Normal
ANC:        Disabled
Touchpads:  Enabled
Left option:    Undetected
Right option:   Volume
Temp. left: 0.0°C
Temp. right:    0.0°C
JojiiOfficial commented 3 years ago

Left option: undetected That looks like it doesn't belong this way, right? I only tested it with the buds live so besides the temp. being wrongly displayed, everything else is correct?

JojiiOfficial commented 3 years ago

Try to pull the latest changes and compile it again with all features enabled (cargo build --release). The pulse error should be fixed.

sam5558 commented 3 years ago

Not sure i understand correctly your question, but i've setup a long press as :

is it what you meant ?

=> Okay, i'll git clone again and give you my feedback.

JojiiOfficial commented 3 years ago

Your earbuds status output says that the tap-action for your left bud is 'undetected' which is bad cause it should say 'Volume'.

sam5558 commented 3 years ago

I've tested with your latest changes, i can confirm the build worked good !

Now, for the earbuds status it is showing me the same output...

Info for 'Galaxy Buds+ (7808)':

Battery:    L: 99%, R: 86%
Case:       72%
Equalizer:  Normal
ANC:        Disabled
Touchpads:  Enabled
Left option:    Undetected
Right option:   Volume
Temp. left: 0.0°C
Temp. right:    0.0°C

I'm using both buds so that's odd indeed to have "Left Option: Undetected" :thinking:

Anyway, maybe we can open this as a different ticket as it's not the same problem as before. But again, thank you for your help.

JojiiOfficial commented 3 years ago

No problem. I created an issue for it (#23). I'd like to close this issue since I'm not going to create a dpkg package at this time myself.