pijul_org / pijul

#416 Nettle upgrade: is there a way to compile pijul on ArchLinux right now?

Opened by Madeorsk, on July 11, 2019
Open
Madeorsk commented on July 11, 2019

Hi,

Since yesterday, I try to install pijul on Arch Linux, but I have troubles with the library "nettle". It has been recently upgraded to nettle-3.5.1, and when I try to install pijul with cargo or with the AUR package (https://aur.archlinux.org/packages/pijul), it fails:

error: failed to run custom build command for `nettle-sys v1.0.3`
process didn't exit successfully: `/tmp/cargo-installCGziIQ/release/build/nettle-sys-80e8add230a99325/build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=NETTLE_STATIC
cargo:rerun-if-env-changed=NETTLE_PREGENERATED_BINDINGS
cargo:rustc-link-search=native=/usr/lib
cargo:rustc-link-lib=nettle
cargo:rustc-link-lib=hogweed
cargo:rustc-link-lib=dylib=nettle
cargo:rustc-link-lib=dylib=hogweed
cargo:rustc-link-search=native=/usr/lib
cargo:rustc-link-lib=dylib=gmp

--- stderr
bindgen-wrapper.h:19:10: fatal error: 'nettle/des-compat.h' file not found
bindgen-wrapper.h:19:10: fatal error: 'nettle/des-compat.h' file not found, err: true
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ()', src/libcore/result.rs:997:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

I tried to downgrade the nettle package, then pijul compiles fine, but my system is broken, so I cannot do that. I currently have a compiled pijul, linked on the previous nettle version (pijul: error while loading shared libraries: libnettle.so.6: cannot open shared object file: No such file or directory, and with the new version of nettle, the library is libnettle.so.7).

So here is my question: how can I install and use pijul on Arch Linux?

O01eg commented on July 11, 2019

I have nettle 3.4.1 installed - libnettle.so.6.5, and pijul builds and runs.

onio added a patch:
update `sequoia-openpgp` by onio, created on July 13, 2019

9dYB9oAtuwEfos8z3Hae8FKfZfbn9xyEnFVqmqpfZ4JkMYxkuqvuYcCqy3XqeMEh767KijH1CBb7Jfwwe7wnoTEX
latest
master
testing
onio added a patch:
iterate over alive keys by onio, created on July 13, 2019

9SMfeZR6uUbDwqfbhEK2x6FhNGPxQQgFKMMm4FKj6Ebx4C4SMhjm1QSrhxTGyspRCrsL3pjk5JLnTmf68Wxp6WP4
latest
master
testing
jshholland commented on July 16, 2019

@onio's patches fix the build with nettle-3.5 (libnettle.so.7.0) for me.

onio commented on July 16, 2019

yeah for me too :D

I just don't know if it's not breaking something else, like the signatures. No tests failed (apart from the file-header size test, but that one seems to be broken, repr attr missing?), tho, i guess there are no tests for signatures?!

However with the exception of arrays (which are densely packed and in-order), the layout of data is not specified by default.

-- https://doc.rust-lang.org/nomicon/repr-rust.html

cecton commented on July 20, 2019

I'm having this issue now.

I tried to install nettle4 (2.7.1-4) from the AUR but it installs in a different directory:

...
nettle4 /usr/lib/nettle4/include/nettle/des-compat.h
...

I'm not sure how to add this to the includes of cargo. Any help would be appreciated.

krixano commented on July 20, 2019

Having this problem on Manjaro now

(I've had so many problems with nettle since 0.12)

pmeunier commented on July 20, 2019

Hi! I've just applied your patches, thanks. I'm not sure we'll continue using Nettle and PGP, this has caused way more problems than I expected, and PGP is dying really fast.