pijul_org / pijul

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

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


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

--- 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

onio added a patch:
iterate over alive keys by onio, created on July 13, 2019

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.

neal commented on September 17, 2019

As an FYI, we're currently exploring the possibility of using Window's native crypto library (CNG) instead of Nettle on Windows. If this works out, then this will remove the requirement to compile C code when compiling Sequoia.