signalapp / libsignal

Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
GNU Affero General Public License v3.0
3.08k stars 362 forks source link

Cargo build failed -> error: the feature named `crypto` is not valid for this target #454

Closed Rwinwij closed 2 years ago

Rwinwij commented 2 years ago

Dear Team,

I am currently trying to use the signal library to support ZenGo MPC over signal : https://github.com/ZenGo-X/mpc-over-signal

However I am currently stuck with the following build issue:

error: the feature named crypto is not valid for this target _--> /Users/Erwin/.cargo/git/checkouts/libsignal-client-20b116e5080385e2/9e16822/rust/crypto/src/aes/aarch64.rs:66:22 | 66 | #[targetfeature(enable = "crypto")] | ^^^^^^^^^^^^^^^^^ crypto is not valid for this target

Do I need to add a flag on my cargo build ? I currently build using this cmd: cargo +nightly build --release --features curv-kzen/num-bigint

I am running this on Apple M1 processor.

Many thanks in advance,

Erwin

jrose-signal commented 2 years ago

I'm not sure, but that's an older version of libsignal-client you're using. We've switched to re-exporting RustCrypto's aes crate. Try updating to a newer version? (0.14.0 was just tagged and we do build for M1.)

Rwinwij commented 2 years ago

Hi Jordan, thanks for the reply !

Currently I am using the signal API by ZenGo team to connect to signal-app.

But their APIs are based on the signal-app legacy version which relies on no longer supported components( SenderKeyName, HKDF).

Is there any docs on how to use the latest libsignal-client library ?

Many thanks,

Erwin

Rwinwij commented 2 years ago

Problem resolved: need older rust version and rust-toolchain to match the version.

jrose-signal commented 2 years ago

For the record, SenderKeyName was removed in f6267f339, and HKDF is available from RustCrypto as well. (The non-standard HKDF variant was never used by modern Signal, so hopefully ZenGo's API wasn't using it either.)