marin-m / SongRec

An open-source Shazam client for Linux, written in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compiling the project fails, following instructions from readme.

Mi605 opened this issue · comments

I'm trying to build songrec v0.4.2 on antiX 23.1 full runit 64 bit, kernel 6.5.0-0.deb12.4-amd64-smp, packages build-essential libasound2-dev libpulse-dev libgtk-3-dev libssl-dev installed.

$ cargo --version
cargo 1.78.0 (54d8815d0 2024-03-26)
$ rustc --version
rustc 1.78.0 (9b00956e5 2024-04-29)

$ git clone https://github.com/marin-m/songrec
$ cd songrec
$ cargo run --release --no-default-features -F gui,ffmpeg,pulse,mpris

...

warning: method `add_song_history_records` is never used
  --> src/gui/song_history_interface.rs:14:8
   |
10 | trait SongHistoryRecordListStore {
   |       -------------------------- method in this trait
...
14 |     fn add_song_history_records(self: &mut Self, to_add: &Vec<SongHistoryRecord>);
   |        ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

How to make it build properly? Seems there is some functionality missing and the resulting executable has 8,7 MiB compared with the cargo install in home folder, which has 9,2 MiB size.

Additional note: You should possibly update your readme file:

It has been observed to work with rustc since version 1.43.0.
sudo apt install rustc cargo

None of this works.

error: failed to compile `songrec v0.4.2`, intermediate artifacts can be found at `/tmp/cargo-installc3B1lQ`

Caused by:
  package `regex-syntax v0.8.3` cannot be built because it requires rustc 1.65 or newer, while the currently active rustc version is 1.63.0

songrec v0.4.2 needs rustc 1.65 or higher, while debian stable installs 1.63 only. So also the statement about min version 1.43 is obviously wrong.

$ apt-cache policy rustc
rustc:
  Installiert:           (keine)
  Installationskandidat: 1.63.0+dfsg1-2
  Versionstabelle:
     1.63.0+dfsg1-2 500
        500 http://ftp.de.debian.org/debian bookworm/main amd64 Packages

$ apt-cache policy cargo
cargo:
  Installiert:           (keine)
  Installationskandidat: 0.66.0+ds1-1
  Versionstabelle:
     0.66.0+ds1-1 500
        500 http://ftp.de.debian.org/debian bookworm/main amd64 Packages

I had to use rustup curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh on bookworm instead of apt install.

This installs currently rustc 1.78.0 and cargo 1.78.0 which compiles at least the homefolder method without any error messages.