sss-cli icon indicating copy to clipboard operation
sss-cli copied to clipboard

Install fails on macOS Catalina

Open sunknudsen opened this issue 4 years ago • 6 comments

Installed Rust using brew install rust on macOS Catalina and ran cargo install --git https://github.com/dsprenkels/sss-cli --branch v0.1.

Following error is thrown:

  = note: Undefined symbols for architecture x86_64:
            "_crypto_secretbox_xsalsa20poly1305_tweet", referenced from:
                shamirsecretsharing_cli::crypto_secretbox::hec24fa59a0001d22 in libshamirsecretsharing_cli-d5d35100b5254f45.rlib(shamirsecretsharing_cli-d5d35100b5254f45.shamirsecretsharing_cli.8d6pcdmd-cgu.0.rcgu.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

New to Rust, so might be missing something obvious.

sunknudsen avatar Apr 09 '21 18:04 sunknudsen

@vitkabele I see you maintain a Homebrew Formula. Would you happen to know what I am doing wrong?

sunknudsen avatar Apr 09 '21 18:04 sunknudsen

It seems to me that there is a missing dependency to tweetnacl-sys library. I check it and create PR

vitkabele avatar Apr 11 '21 12:04 vitkabele

It is already fixed in the master branch by https://github.com/dsprenkels/sss-cli/commit/cece61d44b62deb37418a0842c1bb6b7f23e5f0b @dsprenkels Do you plan to add a new release with this fix? The brew formula depends on the packed release tarball.

vitkabele avatar Apr 11 '21 12:04 vitkabele

Ah I did not know of the Homebrew scripts. I will push a new release asap!

dsprenkels avatar Apr 11 '21 20:04 dsprenkels

Thanks for helping out guys!

I was able to compile shamirsecretsharing-cli using cargo install --git https://github.com/dsprenkels/sss-cli --branch master.

@dsprenkels Should README.md reference master vs v0.1?

sunknudsen avatar Apr 11 '21 22:04 sunknudsen

Hey all, I pushed a new release with this fix. It should be fixed now.

This was initially caused by me upgrading the sss-rs crate to a full only-Rust version. This crate reused some functions from that crate that were exported from C, and removing those functions from the sss-rs crate broke this crate.

I "fixed" it for now by pinning the sss-rs dependency to version 0.1.4. In other words: this crate uses the old sss-rs dependency. The plan is to also implement this crate completely in Rust.

Sorry for the inconvenience.

dsprenkels avatar Apr 13 '21 13:04 dsprenkels