Arm64 make stuck after build rust http2

  • Suricata version 7.0.2
  • 5.4 custom kernel image
  • From source code.warning: variable does not need to be mutable

Hi everyone, when I tried make suricata from source code on arm platform it stuck

→ src/http2/http2.rs:968:41
|
968 | … let mut tx_same = &mut self.transactions[index - 1];
| ----^^^^^^^
| |
| help: remove this mut

Building [=======================> ] 183/184: suricata   

this stage. I don’t get it where is the problem? Can you help me?

best regards,

Please try to do it first with Suricata 7.0.7.

What rust version is used?

Caused by:
process didn’t exit successfully: /root/.rustup/toolchains/1.75.0-aarch64-unknown-linux-gnu/bin/rustc --crate-name suricata --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=211 --crate-type staticlib --crate-type rlib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=2 -C metadata=14c91cff685d285c -C extra-filename=-14c91cff685d285c --out-dir /home/ozgurkeskin/projects/suricata/rust/target/release/deps -L dependency=/home/ozgurkeskin/projects/suricata/rust/target/release/deps --extern aes=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libaes-606dc52a15d91f33.rlib --extern aes_gcm=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libaes_gcm-0fcccf06743c50af.rlib --extern asn1_rs=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libasn1_rs-dec10badff2341da.rlib --extern base64=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libbase64-34da05baac02af50.rlib --extern bendy=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libbendy-e5e30431c9c73d47.rlib --extern bitflags=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libbitflags-a36e8224abc48b6b.rlib --extern brotli=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libbrotli-c4f7dedb4f7db18b.rlib --extern byteorder=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libbyteorder-bee7c4bef295ef3a.rlib --extern crc=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libcrc-c852f4b79451c614.rlib --extern der_parser6=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libder_parser-de16d9398bb52110.rlib --extern der_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libder_parser-31c4ea2ead04ed8a.rlib --extern digest=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libdigest-bd1a68982c651a3b.rlib --extern flate2=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libflate2-17dd4293a5be4744.rlib --extern hkdf=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libhkdf-38f60a4c2fa20451.rlib --extern ipsec_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libipsec_parser-7183f683e2f01c79.rlib --extern kerberos_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libkerberos_parser-c35d282e765d59af.rlib --extern lazy_static=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/liblazy_static-7acdd3a6602f35b1.rlib --extern libc=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/liblibc-a81ddab61f279aea.rlib --extern lzma_rs=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/liblzma_rs-6f5eb4c985ca341f.rlib --extern md5=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libmd5-26e41501e93b3fa8.rlib --extern memchr=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libmemchr-0db2d9db47047323.rlib --extern nom7=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libnom-d4212ac4926f94ba.rlib --extern ntp_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libntp_parser-4cce775b4510fdf0.rlib --extern num=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libnum-064eae382e3063b4.rlib --extern num_derive=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libnum_derive-5e2994ff9267cd84.so --extern num_traits=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libnum_traits-f8c73a88b2c179df.rlib --extern regex=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libregex-d6a07b2be128889e.rlib --extern sawp=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libsawp-fe0eabf1dacdb142.rlib --extern sawp_modbus=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libsawp_modbus-8e8dbced6660fa61.rlib --extern sha1=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libsha1-0ecdefc1e6ad2ff7.rlib --extern sha2=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libsha2-64bb4022ea1b3d1c.rlib --extern snmp_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libsnmp_parser-62836a49e4b6f9d7.rlib --extern suricata_derive=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libsuricata_derive-c18b20bb72b92d3f.so --extern time=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libtime-b71214dce9fea55a.rlib --extern tls_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libtls_parser-3745d7a06e61aeff.rlib --extern uuid=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libuuid-6f3059a64ec7d335.rlib --extern widestring=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libwidestring-d23b94696aaa9dc6.rlib --extern x509_parser=/home/ozgurkeskin/projects/suricata/rust/target/release/deps/libx509_parser-7820f40206e1c9da.rlib (signal: 9, SIGKILL: kill)

suricata 7.0.2 works for x86_64 platform with same rust version 1.75.0

this is the cpu usage for this process. rust is using all cpus.

Hi Andreas, I tried suricata 7.0.7 with rust 1.75 but problem is continue. Do you have any suggestion?

You could try something like below to identify the commit that introduces the build issue.

git bisect start
git bisect bad suricata-7.0.7
git bisect good suricata-7.0.2
git bisect run bash -c 'make clean || true && ./configure && make -j$(nproc)'

We have a MacOS build in the Github CI that is supposed to be based on ARM platform but I am not sure about the Rust version.

I built successfully both version for x86_64 platform. When I changed the platform as arm64, it stuck at Building 183/184 for v7.0.2 182/183 fot v7.0.7. I don’t understand using bisect in here.

Can you try another newer rustc like 1.81 ?