oSumAtrIX / DownOnSpot

🎧 A Spotify music and playlist downloader working with free Spotify accounts written in Rust
https://osumatrix.me
GNU General Public License v3.0
555 stars 44 forks source link

fails to build with librespot 0.4.1 #29

Closed tgurr closed 2 years ago

tgurr commented 2 years ago

Describe the bug Latest git master appears to fail to build with librespot 0.4.1:

[...]
     Running `rustc --crate-name down_on_spot --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=z -C panic=abort -C lto -C codegen-units=1 -C metadata=aa39fab80418720c -C extra-filename=-aa39fab80418720c --out-dir /var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps -C strip=symbols -L dependency=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps --extern aspotify=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libaspotify-3d852b42ac3c0fd5.rlib --extern async_std=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libasync_std-584bfecd61e96e9b.rlib --extern async_stream=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libasync_stream-13b28bb4a41a6f4e.rlib --extern chrono=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libchrono-b6bcec46be8af3fe.rlib --extern clap=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libclap-03d30cccd0fdd37b.rlib --extern colored=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libcolored-be2e0a4e74392096.rlib --extern dirs=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libdirs-c25871509c978ea6.rlib --extern futures=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libfutures-c75800f9d5c398ca.rlib --extern id3=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libid3-8763aa4b1a4aac36.rlib --extern lame=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblame-fd027a582b23205f.rlib --extern lewton=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblewton-063eb5229c29146f.rlib --extern librespot=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblibrespot-f16cb0bc6570ea88.rlib --extern log=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblog-bcec5e812547e20c.rlib --extern oggvorbismeta=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liboggvorbismeta-5c8c13f15f02c049.rlib --extern protobuf=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libprotobuf-cd6754c7a9ae51f8.rlib --extern reqwest=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libreqwest-64c6a387a59d8d54.rlib --extern sanitize_filename=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libsanitize_filename-4bb7e209f20c5bb6.rlib --extern serde=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libserde-9c6bbe49fcef0f4d.rlib --extern serde_json=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libserde_json-c6b6feb44f3fe8b6.rlib --extern tokio=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libtokio-ce317e2ef4916b06.rlib --extern url=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liburl-cadf23cdef707d32.rlib -L native=/usr/x86_64-pc-linux-gnu/lib`
error[E0061]: this function takes 4 arguments but 3 arguments were supplied
  --> src/spotify.rs:29:17
   |
29 |         let session = Session::connect(SessionConfig::default(), credentials, None).await?;
   |                       ^^^^^^^^^^^^^^^^ ------------------------  -----------  ---- supplied 3 arguments
   |                       |
   |                       expected 4 arguments
   |
note: associated function defined here
  --> /var/cache/paludis/distfiles/cargo-home/registry/src/github.com-1ecc6299db9ec823/librespot-core-0.4.1/src/session.rs:65:18
   |
65 |     pub async fn connect(
   |                  ^^^^^^^

error[E0308]: mismatched types
  --> src/spotify.rs:37:16
   |
37 |         Ok(Spotify { session, spotify })
   |                      ^^^^^^^ expected struct `Session`, found tuple
   |
   = note: expected struct `Session`
               found tuple `(Session, Credentials)`

error[E0277]: `Result<std::string::String, FromUtf8Error>` doesn't implement `std::fmt::Display`
   --> src/downloader.rs:507:37
    |
507 |                     info!("{} Using {:?} format.", id.to_base62(), format);
    |                                                    ^^^^^^^^^^^^^^ `Result<std::string::String, FromUtf8Error>` cannot be formatted with the default formatter
    |
    = help: the trait `std::fmt::Display` is not implemented for `Result<std::string::String, FromUtf8Error>`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `format_args` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: `Result<std::string::String, FromUtf8Error>` doesn't implement `std::fmt::Display`
   --> src/downloader.rs:518:38
    |
518 |             warn!("{} Falling back to: {:?}", id.to_base62(), quality);
    |                                               ^^^^^^^^^^^^^^ `Result<std::string::String, FromUtf8Error>` cannot be formatted with the default formatter
    |
    = help: the trait `std::fmt::Display` is not implemented for `Result<std::string::String, FromUtf8Error>`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `format_args` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: `Result<std::string::String, FromUtf8Error>` doesn't implement `std::fmt::Display`
   --> src/downloader.rs:576:33
    |
576 |         info!("Done downloading: {}", track.id.to_base62());
    |                                       ^^^^^^^^^^^^^^^^^^^^ `Result<std::string::String, FromUtf8Error>` cannot be formatted with the default formatter
    |
    = help: the trait `std::fmt::Display` is not implemented for `Result<std::string::String, FromUtf8Error>`
    = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
    = note: this error originates in the macro `format_args` (in Nightly builds, run with -Z macro-backtrace for more info)

Some errors have detailed explanations: E0061, E0277, E0308.
For more information about an error, try `rustc --explain E0061`.
error: could not compile `down_on_spot` due to 5 previous errors

Caused by:
  process didn't exit successfully: `rustc --crate-name down_on_spot --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=z -C panic=abort -C lto -C codegen-units=1 -C metadata=aa39fab80418720c -C extra-filename=-aa39fab80418720c --out-dir /var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps -C strip=symbols -L dependency=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps --extern aspotify=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libaspotify-3d852b42ac3c0fd5.rlib --extern async_std=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libasync_std-584bfecd61e96e9b.rlib --extern async_stream=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libasync_stream-13b28bb4a41a6f4e.rlib --extern chrono=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libchrono-b6bcec46be8af3fe.rlib --extern clap=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libclap-03d30cccd0fdd37b.rlib --extern colored=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libcolored-be2e0a4e74392096.rlib --extern dirs=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libdirs-c25871509c978ea6.rlib --extern futures=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libfutures-c75800f9d5c398ca.rlib --extern id3=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libid3-8763aa4b1a4aac36.rlib --extern lame=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblame-fd027a582b23205f.rlib --extern lewton=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblewton-063eb5229c29146f.rlib --extern librespot=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblibrespot-f16cb0bc6570ea88.rlib --extern log=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liblog-bcec5e812547e20c.rlib --extern oggvorbismeta=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liboggvorbismeta-5c8c13f15f02c049.rlib --extern protobuf=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libprotobuf-cd6754c7a9ae51f8.rlib --extern reqwest=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libreqwest-64c6a387a59d8d54.rlib --extern sanitize_filename=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libsanitize_filename-4bb7e209f20c5bb6.rlib --extern serde=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libserde-9c6bbe49fcef0f4d.rlib --extern serde_json=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libserde_json-c6b6feb44f3fe8b6.rlib --extern tokio=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/libtokio-ce317e2ef4916b06.rlib --extern url=/var/tmp/paludis/build/dev-rust-down_on_spot-0.2.0/work/DownOnSpot-cad94d74e9ebd2a926c9d0ece6f43fed14da0d16/target/release/deps/liburl-cadf23cdef707d32.rlib -L native=/usr/x86_64-pc-linux-gnu/lib` (exit status: 1)

To Reproduce Steps to reproduce the behavior:

  1. Clone project
  2. Edit Cargo.toml to use librespot 0.4.1
  3. Try to build
  4. See error

Expected behavior Allow to build with latest librespot release 0.4.1, using 0.3.1 instead works well though.

Desktop (please complete the following information):

Additional context

Lucas-C commented 2 years ago

Same issue / errors for me

oSumAtrIX commented 2 years ago

Fixed in 409875273762a8602e45c4c566cc6ba83a2f4843.