signalapp / boring

BoringSSL bindings for the Rust programming language.
13 stars 14 forks source link

LLVM v19.1.x: `error[E0425]: cannot find function, tuple struct or tuple variant `[...]` in crate `ffi`` (LLVM v18.1.x is fine) #28

Open m-ueberall opened 1 day ago

m-ueberall commented 1 day ago

Is it just me, or is it currently not possible to build the signal-v4.9.0 branch of this repository in order to produce libsignal_jni.so (as referenced by libsignal branches v0.58.x) using LLVM v19.1.x out of the box? No problems with LLVM v18.1.x previously (regardless of architecture):

root@vserver34(chroot:development-ubuntu2004-arm64):/build# grep -A12 "error\[" ./logs/compile_native_signal-cli_arm64_20241016_2.log
[...]
error[E0425]: cannot find function, tuple struct or tuple variant `GENERAL_NAME_new` in crate `ffi`
    --> /root/.cargo.libsignal/git/checkouts/boring-b37daebd62069023/59883d7/boring/src/x509/mod.rs:1671:33
     |
1671 |             let gn = cvt_p(ffi::GENERAL_NAME_new())?;
     |                                 ^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `GENERAL_NAME_dup`
     |
    ::: /tmp/libsignal_ubuntu2004-aarch64/target/aarch64-unknown-linux-gnu/release/build/boring-sys-eadff641fe63e755/out/bindings.rs:3:917978
     |
3    | ...tern "C" { pub fn GENERAL_NAME_dup (a : * mut GENERAL_NAME) -> * mut GENERAL_NAME ; } extern "C" { pub fn i2v_GENERAL_NAME (method : * const X509V3_EXT_...
     |               ------------------------------------------------------------------------ similarly named function `GENERAL_NAME_dup` defined here

For more information about this error, try `rustc --explain E0425`.
error: could not compile `boring` (lib) due to 32 previous errors