Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

does not build with rust 1.69 #519

Closed
selfisekai opened this issue Apr 24, 2023 · 9 comments
Closed

does not build with rust 1.69 #519

selfisekai opened this issue Apr 24, 2023 · 9 comments
Labels
awaiting release Will be in the next release of libsignal

Comments

@selfisekai
Copy link

error[E0507]: cannot move out of `self.version` which is behind a shared reference
   --> rust/attest/src/dcap/endorsements.rs:276:5
    |
270 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
276 |     version: UInt32LE,
    |     ^^^^^^^^^^^^^^^^^ move occurs because `self.version` has type `endian::UInt32LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.enclave_type` which is behind a shared reference
   --> rust/attest/src/dcap/endorsements.rs:279:5
    |
270 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
279 |     enclave_type: UInt32LE,
    |     ^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.enclave_type` has type `endian::UInt32LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.buffer_size` which is behind a shared reference
   --> rust/attest/src/dcap/endorsements.rs:282:5
    |
270 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
282 |     buffer_size: UInt32LE,
    |     ^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.buffer_size` has type `endian::UInt32LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.num_elements` which is behind a shared reference
   --> rust/attest/src/dcap/endorsements.rs:285:5
    |
270 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
285 |     num_elements: UInt32LE,
    |     ^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.num_elements` has type `endian::UInt32LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.version` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:105:5
    |
100 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
105 |     version: UInt16LE,
    |     ^^^^^^^^^^^^^^^^^ move occurs because `self.version` has type `endian::UInt16LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.sign_type` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:109:5
    |
100 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
109 |     sign_type: UInt16LE,
    |     ^^^^^^^^^^^^^^^^^^^ move occurs because `self.sign_type` has type `endian::UInt16LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.qe_svn` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:117:5
    |
100 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
117 |     qe_svn: UInt16LE,
    |     ^^^^^^^^^^^^^^^^ move occurs because `self.qe_svn` has type `endian::UInt16LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.pce_svn` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:121:5
    |
100 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
121 |     pce_svn: UInt16LE,
    |     ^^^^^^^^^^^^^^^^^ move occurs because `self.pce_svn` has type `endian::UInt16LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.report_body` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:133:5
    |
100 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
133 |     pub report_body: SgxReportBody,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.report_body` has type `SgxReportBody`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.qe_report_body` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:333:5
    |
328 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
333 |     qe_report_body: SgxReportBody,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.qe_report_body` has type `SgxReportBody`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.auth_data_size` which is behind a shared reference
   --> rust/attest/src/dcap/sgx_quote.rs:335:5
    |
328 | #[derive(Debug)]
    |          ----- in this derive macro expansion
...
335 |     auth_data_size: UInt16LE,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.auth_data_size` has type `endian::UInt16LE`, which does not implement the `Copy` trait
    |
    = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.miscselect` which is behind a shared reference
  --> rust/attest/src/dcap/sgx_report_body.rs:33:5
   |
23 | #[derive(Debug)]
   |          ----- in this derive macro expansion
...
33 |     pub miscselect: UInt32LE,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.miscselect` has type `endian::UInt32LE`, which does not implement the `Copy` trait
   |
   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.isvprodid` which is behind a shared reference
  --> rust/attest/src/dcap/sgx_report_body.rs:72:5
   |
23 | #[derive(Debug)]
   |          ----- in this derive macro expansion
...
72 |     pub isvprodid: UInt16LE,
   |     ^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.isvprodid` has type `endian::UInt16LE`, which does not implement the `Copy` trait
   |
   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self.isvsvn` which is behind a shared reference
  --> rust/attest/src/dcap/sgx_report_body.rs:76:5
   |
23 | #[derive(Debug)]
   |          ----- in this derive macro expansion
...
76 |     pub isvsvn: UInt16LE,
   |     ^^^^^^^^^^^^^^^^^^^^ move occurs because `self.isvsvn` has type `endian::UInt16LE`, which does not implement the `Copy` trait
   |
   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0507]: cannot move out of `self._configsvn` which is behind a shared reference
  --> rust/attest/src/dcap/sgx_report_body.rs:80:5
   |
23 | #[derive(Debug)]
   |          ----- in this derive macro expansion
...
80 |     _configsvn: UInt16LE,
   |     ^^^^^^^^^^^^^^^^^^^^ move occurs because `self._configsvn` has type `endian::UInt16LE`, which does not implement the `Copy` trait
   |
   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0507`.
warning: `attest` (lib) generated 2 warnings
error: could not compile `attest` due to 15 previous errors; 2 warnings emitted
@bratkartoffel
Copy link

bratkartoffel commented Apr 24, 2023

Got another error on my alpine linux builder for the latest release (0.22.2):

error: failed to run custom build command for `boring-sys v2.1.0 (https://github.com/signalapp/boring?branch=libsignal#25e1dd8f)`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-bb85006e4540c594/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=BORING_BSSL_PATH
  CMAKE_TOOLCHAIN_FILE_x86_64-alpine-linux-musl = None
  CMAKE_TOOLCHAIN_FILE_x86_64_alpine_linux_musl = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-alpine-linux-musl = None
  CMAKE_GENERATOR_x86_64_alpine_linux_musl = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-alpine-linux-musl = None
  CMAKE_PREFIX_PATH_x86_64_alpine_linux_musl = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-alpine-linux-musl = None
  CMAKE_x86_64_alpine_linux_musl = None
  HOST_CMAKE = None
  CMAKE = None
  running: cd "/home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-352acf116d954e26/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/home/john/.cargo/git/checkouts/boring-b37daebd62069023/25e1dd8/boring-sys/deps/boringssl" "-DCMAKE_INSTALL_PREFIX=/home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-352acf116d954e26/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -fomit-frame-pointer" "-DCMAKE_C_COMPILER=/usr/bin/gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -fomit-frame-pointer" "-DCMAKE_CXX_COMPILER=/usr/bin/g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 -fomit-frame-pointer" "-DCMAKE_ASM_COMPILER=/usr/bin/gcc" "-DCMAKE_BUILD_TYPE=MinSizeRel"
  -- The C compiler identification is GNU 12.2.1
  -- The CXX compiler identification is GNU 12.2.1
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/gcc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/g++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- The ASM compiler identification is GNU
  -- Found assembler: /usr/bin/gcc
  -- Configuring done (1.2s)
  -- Generating done (0.0s)
  -- Build files have been written to: /home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-352acf116d954e26/out/build
  running: cd "/home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-352acf116d954e26/out/build" && MAKEFLAGS="-j --jobserver-fds=11,16 --jobserver-auth=11,16" "cmake" "--build" "." "--target" "crypto" "--config" "MinSizeRel" "--parallel" "20"
  [  0%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S.o
  [  1%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/chacha/chacha-x86_64.S.o
  [  0%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S.o
  [  1%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S.o
  [  2%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S.o
  [  3%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S.o
  [  3%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S.o
  [  3%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/md5-x86_64.S.o
  [  3%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S.o
  [  4%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S.o
  [  4%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S.o
  [  4%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S.o
  [  6%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S.o
  [  6%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S.o
  [  6%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S.o
  [  7%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S.o
  [  7%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/x86_64-mont.S.o
  [  7%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S.o
  [  8%] Building ASM object CMakeFiles/crypto.dir/linux-x86_64/crypto/test/trampoline-x86_64.S.o
  [  8%] Building ASM object CMakeFiles/crypto.dir/src/crypto/hrss/asm/poly_rq_mul.S.o
  [  8%] Building C object CMakeFiles/crypto.dir/err_data.c.o
  [  9%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_bitstr.c.o
  [  9%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_bool.c.o
  [  9%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_d2i_fp.c.o
  [  9%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_dup.c.o
  [ 10%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_enum.c.o
  [ 12%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_gentm.c.o
  [ 12%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_int.c.o
  [ 12%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_i2d_fp.c.o
  [ 12%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_mbstr.c.o
  [ 12%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_object.c.o
  [ 13%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_octet.c.o
  [ 13%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_print.c.o
  [ 14%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_strnid.c.o
  [ 14%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_strex.c.o
  [ 14%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_time.c.o
  [ 14%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_type.c.o
  [ 15%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_utctm.c.o
  [ 15%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/a_utf8.c.o
  [ 15%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/asn1_lib.c.o
  [ 17%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/asn1_par.c.o
  [ 17%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/f_enum.c.o
  [ 18%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/asn_pack.c.o
  [ 18%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/f_int.c.o
  [ 18%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/f_string.c.o
  [ 18%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/tasn_dec.c.o
  [ 19%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/tasn_enc.c.o
  [ 19%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/tasn_fre.c.o
  [ 19%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/tasn_new.c.o
  [ 20%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/tasn_typ.c.o
  [ 20%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/tasn_utl.c.o
  [ 20%] Building C object CMakeFiles/crypto.dir/src/crypto/asn1/time_support.c.o
  [ 21%] Building C object CMakeFiles/crypto.dir/src/crypto/base64/base64.c.o
  [ 21%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/bio.c.o
  [ 23%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/connect.c.o
  [ 23%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/bio_mem.c.o
  [ 23%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/fd.c.o
  [ 23%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/file.c.o
  [ 24%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/hexdump.c.o
  [ 24%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/pair.c.o
  [ 24%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/printf.c.o
  [ 24%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/socket.c.o
  [ 25%] Building C object CMakeFiles/crypto.dir/src/crypto/bio/socket_helper.c.o
  [ 25%] Building C object CMakeFiles/crypto.dir/src/crypto/bn_extra/bn_asn1.c.o
  [ 25%] Building C object CMakeFiles/crypto.dir/src/crypto/blake2/blake2.c.o
  [ 26%] Building C object CMakeFiles/crypto.dir/src/crypto/bn_extra/convert.c.o
  [ 26%] Building C object CMakeFiles/crypto.dir/src/crypto/buf/buf.c.o
  [ 26%] Building C object CMakeFiles/crypto.dir/src/crypto/bytestring/asn1_compat.c.o
  [ 26%] Building C object CMakeFiles/crypto.dir/src/crypto/bytestring/cbb.c.o
  [ 28%] Building C object CMakeFiles/crypto.dir/src/crypto/bytestring/ber.c.o
  [ 28%] Building C object CMakeFiles/crypto.dir/src/crypto/bytestring/cbs.c.o
  [ 29%] Building C object CMakeFiles/crypto.dir/src/crypto/bytestring/unicode.c.o
  [ 29%] Building C object CMakeFiles/crypto.dir/src/crypto/chacha/chacha.c.o
  [ 29%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/cipher_extra.c.o
  [ 30%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/derive_key.c.o
  [ 30%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_aesccm.c.o
  [ 30%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_aesctrhmac.c.o
  [ 31%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_aesgcmsiv.c.o
  [ 31%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_chacha20poly1305.c.o
  [ 31%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_null.c.o
  [ 32%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_rc2.c.o
  [ 32%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_rc4.c.o
  [ 32%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/e_tls.c.o
  [ 34%] Building C object CMakeFiles/crypto.dir/src/crypto/cipher_extra/tls_cbc.c.o
  [ 35%] Building C object CMakeFiles/crypto.dir/src/crypto/cmac/cmac.c.o
  [ 35%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-aarch64-fuchsia.c.o
  [ 35%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-aarch64-linux.c.o
  [ 35%] Building C object CMakeFiles/crypto.dir/src/crypto/conf/conf.c.o
  [ 35%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-aarch64-win.c.o
  [ 36%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-arm.c.o
  [ 36%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-arm-linux.c.o
  [ 36%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-intel.c.o
  [ 37%] Building C object CMakeFiles/crypto.dir/src/crypto/cpu-ppc64le.c.o
  [ 37%] Building C object CMakeFiles/crypto.dir/src/crypto/curve25519/curve25519.c.o
  [ 37%] Building C object CMakeFiles/crypto.dir/src/crypto/crypto.c.o
  [ 39%] Building C object CMakeFiles/crypto.dir/src/crypto/curve25519/spake25519.c.o
  [ 39%] Building C object CMakeFiles/crypto.dir/src/crypto/dh_extra/dh_asn1.c.o
  [ 39%] Building C object CMakeFiles/crypto.dir/src/crypto/dh_extra/params.c.o
  [ 39%] Building C object CMakeFiles/crypto.dir/src/crypto/digest_extra/digest_extra.c.o
  [ 40%] Building C object CMakeFiles/crypto.dir/src/crypto/dsa/dsa.c.o
  [ 40%] Building C object CMakeFiles/crypto.dir/src/crypto/dsa/dsa_asn1.c.o
  [ 40%] Building C object CMakeFiles/crypto.dir/src/crypto/ec_extra/ec_asn1.c.o
  [ 41%] Building C object CMakeFiles/crypto.dir/src/crypto/ec_extra/ec_derive.c.o
  [ 41%] Building C object CMakeFiles/crypto.dir/src/crypto/ec_extra/hash_to_curve.c.o
  [ 41%] Building C object CMakeFiles/crypto.dir/src/crypto/ecdh_extra/ecdh_extra.c.o
  [ 42%] Building C object CMakeFiles/crypto.dir/src/crypto/ecdsa_extra/ecdsa_asn1.c.o
  [ 42%] Building C object CMakeFiles/crypto.dir/src/crypto/engine/engine.c.o
  [ 42%] Building C object CMakeFiles/crypto.dir/src/crypto/err/err.c.o
  [ 43%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/digestsign.c.o
  [ 43%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/evp.c.o
  [ 43%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/evp_asn1.c.o
  [ 45%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/evp_ctx.c.o
  [ 45%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_dsa_asn1.c.o
  [ 45%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_ec.c.o
  [ 45%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_ed25519.c.o
  [ 46%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_ec_asn1.c.o
  [ 46%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_ed25519_asn1.c.o
  [ 47%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_rsa_asn1.c.o
  [ 47%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_rsa.c.o
  [ 47%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_x25519.c.o
  [ 48%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/p_x25519_asn1.c.o
  [ 48%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/pbkdf.c.o
  [ 48%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/print.c.o
  [ 50%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/scrypt.c.o
  [ 50%] Building C object CMakeFiles/crypto.dir/src/crypto/evp/sign.c.o
  [ 50%] Building C object CMakeFiles/crypto.dir/src/crypto/ex_data.c.o
  [ 51%] Building C object CMakeFiles/crypto.dir/src/crypto/fipsmodule/bcm.c.o
  [ 51%] Building C object CMakeFiles/crypto.dir/src/crypto/hkdf/hkdf.c.o
  [ 52%] Building C object CMakeFiles/crypto.dir/src/crypto/hpke/hpke.c.o
  [ 52%] Building C object CMakeFiles/crypto.dir/src/crypto/fipsmodule/fips_shared_support.c.o
  [ 52%] Building C object CMakeFiles/crypto.dir/src/crypto/hrss/hrss.c.o
  [ 52%] Building C object CMakeFiles/crypto.dir/src/crypto/lhash/lhash.c.o
  [ 53%] Building C object CMakeFiles/crypto.dir/src/crypto/mem.c.o
  [ 53%] Building C object CMakeFiles/crypto.dir/src/crypto/obj/obj.c.o
  [ 53%] Building C object CMakeFiles/crypto.dir/src/crypto/obj/obj_xref.c.o
  [ 54%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_all.c.o
  [ 54%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_info.c.o
  [ 54%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_lib.c.o
  [ 54%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_oth.c.o
  [ 56%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_pk8.c.o
  [ 56%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_pkey.c.o
  [ 56%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_x509.c.o
  [ 57%] Building C object CMakeFiles/crypto.dir/src/crypto/pem/pem_xaux.c.o
  [ 57%] Building C object CMakeFiles/crypto.dir/src/crypto/pkcs7/pkcs7.c.o
  [ 57%] Building C object CMakeFiles/crypto.dir/src/crypto/pkcs7/pkcs7_x509.c.o
  [ 58%] Building C object CMakeFiles/crypto.dir/src/crypto/pkcs8/p5_pbev2.c.o
  [ 58%] Building C object CMakeFiles/crypto.dir/src/crypto/pkcs8/pkcs8_x509.c.o
  [ 58%] Building C object CMakeFiles/crypto.dir/src/crypto/pkcs8/pkcs8.c.o
  [ 59%] Building C object CMakeFiles/crypto.dir/src/crypto/poly1305/poly1305.c.o
  [ 59%] Building C object CMakeFiles/crypto.dir/src/crypto/poly1305/poly1305_arm.c.o
  [ 59%] Building C object CMakeFiles/crypto.dir/src/crypto/poly1305/poly1305_vec.c.o
  [ 60%] Building C object CMakeFiles/crypto.dir/src/crypto/pool/pool.c.o
  [ 60%] Building C object CMakeFiles/crypto.dir/src/crypto/rand_extra/deterministic.c.o
  [ 60%] Building C object CMakeFiles/crypto.dir/src/crypto/rand_extra/forkunsafe.c.o
  [ 62%] Building C object CMakeFiles/crypto.dir/src/crypto/rand_extra/fuchsia.c.o
  [ 62%] Building C object CMakeFiles/crypto.dir/src/crypto/rand_extra/passive.c.o
  [ 62%] Building C object CMakeFiles/crypto.dir/src/crypto/rand_extra/rand_extra.c.o
  [ 63%] Building C object CMakeFiles/crypto.dir/src/crypto/rand_extra/windows.c.o
  [ 63%] Building C object CMakeFiles/crypto.dir/src/crypto/rc4/rc4.c.o
  [ 63%] Building C object CMakeFiles/crypto.dir/src/crypto/refcount_c11.c.o
  [ 64%] Building C object CMakeFiles/crypto.dir/src/crypto/refcount_lock.c.o
  [ 64%] Building C object CMakeFiles/crypto.dir/src/crypto/rsa_extra/rsa_asn1.c.o
  [ 64%] Building C object CMakeFiles/crypto.dir/src/crypto/rsa_extra/rsa_print.c.o
  [ 65%] Building C object CMakeFiles/crypto.dir/src/crypto/siphash/siphash.c.o
  [ 65%] Building C object CMakeFiles/crypto.dir/src/crypto/stack/stack.c.o
  [ 65%] Building C object CMakeFiles/crypto.dir/src/crypto/thread.c.o
  [ 67%] Building C object CMakeFiles/crypto.dir/src/crypto/thread_none.c.o
  [ 67%] Building C object CMakeFiles/crypto.dir/src/crypto/thread_pthread.c.o
  [ 67%] Building C object CMakeFiles/crypto.dir/src/crypto/thread_win.c.o
  [ 68%] Building C object CMakeFiles/crypto.dir/src/crypto/trust_token/pmbtoken.c.o
  [ 68%] Building C object CMakeFiles/crypto.dir/src/crypto/trust_token/trust_token.c.o
  [ 68%] Building C object CMakeFiles/crypto.dir/src/crypto/trust_token/voprf.c.o
  [ 69%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/a_digest.c.o
  [ 69%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/a_verify.c.o
  [ 69%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/a_sign.c.o
  [ 69%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/by_file.c.o
  [ 70%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/algorithm.c.o
  [ 70%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/asn1_gen.c.o
  [ 70%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/by_dir.c.o
  [ 70%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/name_print.c.o
  [ 71%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/i2d_pr.c.o
  [ 71%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/rsa_pss.c.o
  [ 73%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/t_crl.c.o
  [ 73%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/t_req.c.o
  [ 73%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/t_x509.c.o
  [ 74%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/t_x509a.c.o
  [ 74%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509.c.o
  [ 74%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_att.c.o
  [ 75%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_d2.c.o
  [ 75%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_cmp.c.o
  [ 75%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_def.c.o
  [ 76%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_ext.c.o
  [ 76%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_lu.c.o
  [ 76%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_obj.c.o
  [ 78%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_req.c.o
  [ 78%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_set.c.o
  [ 78%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_trs.c.o
  [ 79%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_txt.c.o
  [ 79%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_v3.c.o
  [ 79%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_vfy.c.o
  [ 80%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509_vpm.c.o
  [ 80%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509cset.c.o
  [ 80%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509name.c.o
  [ 81%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509rset.c.o
  [ 81%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x509spki.c.o
  [ 81%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_algor.c.o
  [ 82%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_all.c.o
  [ 82%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_attrib.c.o
  [ 82%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_crl.c.o
  [ 84%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_exten.c.o
  [ 84%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_info.c.o
  [ 84%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_name.c.o
  [ 85%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_pkey.c.o
  [ 85%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_pubkey.c.o
  [ 85%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_req.c.o
  [ 85%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_sig.c.o
  [ 86%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_val.c.o
  [ 86%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_x509.c.o
  [ 86%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_spki.c.o
  [ 87%] Building C object CMakeFiles/crypto.dir/src/crypto/x509/x_x509a.c.o
  [ 87%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/pcy_cache.c.o
  [ 87%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/pcy_data.c.o
  [ 89%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/pcy_lib.c.o
  [ 89%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/pcy_map.c.o
  [ 89%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/pcy_node.c.o
  [ 90%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/pcy_tree.c.o
  [ 90%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_akey.c.o
  [ 90%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_akeya.c.o
  [ 91%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_alt.c.o
  [ 91%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_bcons.c.o
  [ 91%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_bitst.c.o
  [ 92%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_conf.c.o
  [ 92%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_cpols.c.o
  [ 92%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_crld.c.o
  [ 93%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_enum.c.o
  [ 93%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_extku.c.o
  [ 93%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_genn.c.o
  [ 95%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_ia5.c.o
  [ 95%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_info.c.o
  [ 95%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_int.c.o
  [ 96%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_ncons.c.o
  [ 96%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_lib.c.o
  [ 96%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_ocsp.c.o
  [ 97%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_pci.c.o
  [ 97%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_pcia.c.o
  [ 97%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_pcons.c.o
  [ 98%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_pmaps.c.o
  [ 98%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_prn.c.o
  [ 98%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_purp.c.o
  [100%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_skey.c.o
  [100%] Building C object CMakeFiles/crypto.dir/src/crypto/x509v3/v3_utl.c.o
  [100%] Linking C static library libcrypto.a
  [100%] Built target crypto
  cargo:root=/home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-352acf116d954e26/out
  cargo:rustc-link-search=native=/home/john/aports/testing/java-libsignal-client/src/libsignal-0.22.2/target/release/build/boring-sys-352acf116d954e26/out/build/
  cargo:rustc-link-lib=static=crypto
  cargo:rerun-if-env-changed=BORING_BSSL_INCLUDE_PATH

  --- stderr
  make: warning: -j20 forced in submake: resetting jobserver mode.
  thread 'main' panicked at '"pthread_attr_t_union_(unnamed_at_/usr/include/bits/alltypes_h_378_18)" is not a valid Ident', /home/john/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.29/src/fallback.rs:702:9
  stack backtrace:
     0: rust_begin_unwind
     1: core::panicking::panic_fmt
     2: proc_macro2::fallback::validate_ident
     3: proc_macro2::fallback::Ident::_new
     4: proc_macro2::fallback::Ident::new
     5: proc_macro2::imp::Ident::new
     6: proc_macro2::Ident::new
     7: bindgen::ir::context::BindgenContext::rust_ident_raw
     8: bindgen::ir::context::BindgenContext::rust_ident
     9: <bindgen::ir::comp::CompInfo as bindgen::codegen::CodeGenerator>::codegen
    10: <bindgen::ir::ty::Type as bindgen::codegen::CodeGenerator>::codegen
    11: <bindgen::ir::item::Item as bindgen::codegen::CodeGenerator>::codegen
    12: <bindgen::ir::comp::CompInfo as bindgen::codegen::CodeGenerator>::codegen
    13: <bindgen::ir::ty::Type as bindgen::codegen::CodeGenerator>::codegen
    14: <bindgen::ir::item::Item as bindgen::codegen::CodeGenerator>::codegen
    15: <bindgen::ir::module::Module as bindgen::codegen::CodeGenerator>::codegen::{{closure}}
    16: <bindgen::ir::module::Module as bindgen::codegen::CodeGenerator>::codegen
    17: <bindgen::ir::item::Item as bindgen::codegen::CodeGenerator>::codegen
    18: bindgen::codegen::codegen::{{closure}}
    19: bindgen::ir::context::BindgenContext::gen
    20: bindgen::codegen::codegen
    21: bindgen::Bindings::generate
    22: bindgen::Builder::generate
    23: build_script_build::main
    24: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

> Task :makeJniLibrariesDesktop FAILED

Installed toolchain:

apk info -v | egrep '(rust|gcc|make|musl|jdk)'
cmake-3.26.3-r1
cmake-bash-completion-3.26.3-r1
gcc-12.2.1_git20220924-r10
libgcc-12.2.1_git20220924-r10
make-4.4.1-r1
musl-1.2.3_git20230411-r0
openjdk11-jdk-11.0.19_p7-r0
openjdk11-jmods-11.0.19_p7-r0
openjdk11-jre-11.0.19_p7-r0
openjdk11-jre-headless-11.0.19_p7-r0
p11-kit-trust-0.24.1-r2
rust-1.69.0-r2

@selfisekai
Copy link
Author

@bratkartoffel this is signalapp/boring#18 fixed by signalapp/boring#19, currently you can use this patch:

--- ./Cargo.toml.orig
+++ ./Cargo.toml
@@ -25,3 +25,6 @@
 # Use our fork of curve25519-dalek for eventual zkgroup support.
 curve25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', branch = 'lizard2' }
 boring = { git = 'https://github.com/signalapp/boring', branch = 'libsignal'}
+
+[patch.'https://github.com/signalapp/boring']
+boring-sys = { git = 'https://github.com/selfisekai/boring-cf', branch = 'i109-signal', package = 'boring-sys' }
--- ./Cargo.lock.orig
+++ ./Cargo.lock
@@ -206,9 +206,9 @@
 
 [[package]]
 name = "bindgen"
-version = "0.60.1"
+version = "0.62.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
+checksum = "c6720a8b7b2d39dd533285ed438d458f65b31b5c257e6ac7bb3d7e82844dd722"
 dependencies = [
  "bitflags",
  "cexpr",
@@ -221,6 +221,7 @@
  "regex",
  "rustc-hash",
  "shlex",
+ "syn",
 ]
 
 [[package]]
@@ -295,7 +296,7 @@
 [[package]]
 name = "boring-sys"
 version = "2.1.0"
-source = "git+https://github.com/signalapp/boring?branch=libsignal#25e1dd8fa519ae90772008fbd4a284582096fece"
+source = "git+https://github.com/selfisekai/boring-cf?branch=i109-signal#5c13f5c357c8b33c9978f2e447de2d6caf825d13"
 dependencies = [
  "bindgen",
  "cmake",
@@ -1398,11 +1399,11 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.29"
+version = "1.0.54"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d"
+checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534"
 dependencies = [
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
@@ -1868,13 +1869,13 @@
 
 [[package]]
 name = "syn"
-version = "1.0.80"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
@@ -1981,6 +1982,12 @@
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
 
 [[package]]
 name = "unicode-segmentation"

@bratkartoffel
Copy link

Thanks @selfisekai, now I'm facing the same issues as in the initial issue description

@selfisekai
Copy link
Author

take a look at https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/testing/signal-desktop/libsignal-fix-build-rust-1.69.patch

@jrose-signal
Copy link
Contributor

This one I'm less sure about. Debug shouldn't require Copy; that seems like an issue in Rust itself.

@jrose-signal
Copy link
Contributor

Oh, I forgot that these are repr(C, packed) structs, so Rust can't form references to the fields. Okay, thanks, let me take a closer look at your patch.

@jrose-signal
Copy link
Contributor

Filed rust-lang/rust#110777 and commented rust-lang/rust#82523 (comment).

@jrose-signal
Copy link
Contributor

Should be fixed (though a bit differently) in v0.23.0!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting release Will be in the next release of libsignal
Development

No branches or pull requests

3 participants