boxdot / gurk-rs

Signal Messenger client for terminal
GNU Affero General Public License v3.0
456 stars 33 forks source link

Compilation issue - curve25519-dalek #239

Open Chewie9999 opened 11 months ago

Chewie9999 commented 11 months ago

I'm trying to compile this on Ubuntu 20.04.6 LTS, and I'm getting the following error:

xxxxxxxxx-RW11:~/git$ cargo install --git https://github.com/boxdot/gurk-rs gurk
    Updating git repository `https://github.com/boxdot/gurk-rs`
  Installing gurk v0.4.0 (https://github.com/boxdot/gurk-rs#b1ddf7be)
    Updating git repository `https://github.com/signalapp/curve25519-dalek`
    Updating crates.io index
    Updating git repository `https://github.com/whisperfish/presage`
    Updating git repository `https://github.com/whisperfish/libsignal-service-rs`
    Updating git repository `https://github.com/signalapp/libsignal`
error: failed to compile `gurk v0.4.0 (https://github.com/boxdot/gurk-rs#b1ddf7be)`, intermediate artifacts can be found at `/tmp/cargo-installcJLFsn`

Caused by:
  failed to select a version for the requirement `curve25519-dalek = "^3.0.0"`
  candidate versions found which didn't match: 4.0.0
  location searched: Git repository https://github.com/signalapp/curve25519-dalek?branch=lizard2
  required by package `zkgroup v0.9.0 (https://github.com/signalapp/libsignal?tag=v0.22.2#39293fa9)`
      ... which satisfies git dependency `zkgroup` of package `libsignal-service v0.1.0 (https://github.com/whisperfish/libsignal-service-rs?rev=c2f70ef#c2f70efd)`
      ... which satisfies git dependency `libsignal-service` of package `presage v0.6.0-dev (https://github.com/whisperfish/presage?rev=0.5.2#673d3068)`
      ... which satisfies git dependency `presage` of package `gurk v0.4.0 (/home/mrflibble/.cargo/git/checkouts/gurk-rs-7cf8dc9d9ee78b42/b1ddf7b)`

It's difficult to find a version number on the github site, but there is another site: https://github.com/dalek-cryptography/curve25519-dalek which does mention v4. Should I be using that instead? How to I use it? Thanks,

gferon commented 11 months ago

Hey! How are you trying to build gurk exactly? The Cargo.lock file should be good enough and we're aware of the issue with the curve dalek crate, which has been updated upstream recently 🎉 I'm pretty sure cargo build --locked --git https://github.com/boxdot/gurk-rs will work.

Chewie9999 commented 11 months ago

@gferon Thanks for the reply. I'm building it just with the command listed. I had an old version of gurk on my system (0.3.0), not sure if that makes a difference. When I try the command you suggest, I get the following:

cargo build --locked --git https://github.com/boxdot/gurk-rs
error: Found argument '--git' which wasn't expected, or isn't valid in this context

Usage: cargo build --locked

For more information try '--help'

cargo is v1.66

To be honest, I'm new to rust, so I'm only following the instructions, sorry :(