c/c++ fun with Rust crates: ``` thread 'main' pani...
# development
f
c/c++ fun with Rust crates:
Copy code
thread 'main' panicked at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-lc-sys-0.20.1/builder/cc_builder.rs:244:13:
  Your compiler (cc) is not supported due to a memcmp related bug reported in <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189.We> strongly recommend against using this compiler.EXECUTED: true ERROR:  OUTPUT:  
  stack backtrace:
     0: rust_begin_unwind
               at /rustc/3f5fd8dd41153bc5fdca9427e9e05be2c767ba23/library/std/src/panicking.rs:652:5
     1: core::panicking::panic_fmt
               at /rustc/3f5fd8dd41153bc5fdca9427e9e05be2c767ba23/library/core/src/panicking.rs:72:14
     2: build_script_main::cc_builder::CcBuilder::memcmp_check
     3: build_script_main::cc_builder::CcBuilder::compiler_checks
     4: build_script_main::cc_builder::CcBuilder::build_library
     5: <build_script_main::cc_builder::CcBuilder as build_script_main::Builder>::build
     6: build_script_main::main
     7: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
https://github.com/pantsbuild/pants/actions/runs/10480292488/job/29027636152?pr=21331#step:10:308
w
Is this a version issue, or a gcc vs clang issue?
f
And I built this PR just fine on Linux with gcc.
Makes me think it is an issue with the CI image.
CI is using
ubuntu-20.04
. Can probably safely move to ubuntu-22.04 (which is the current
ubuntu-latest
)
w
I feel like we've had this conversation in slack - where someone's system was using an older Ubuntu and it was causing grief
f
Interestingly enough we use
ubuntu-latest
(currently
ubuntu-22.04
) for other CI jobs, just not the Rust x86 job
w
f
ubuntu-20.04 isn't even ubuntu-latest on GitHub any more. We should move off of it in any event.
💯 1
I'm trying it out on my PR at least. If it fixes that issue, will post it as is own PR.
it got further, although I now get some rustls setup errors
although they are related to the fact that rustls now has a default dependency on an aws-supplied crate.
vs using what appears to be the de facto rust crypto operations crate
although seems like rustls chose it for being better at certain things
ah who knows