Project

General

Profile

Actions

Bug #3238

open

rust compile fail on ppc64el

Added by Peter Manev about 5 years ago. Updated almost 3 years ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

"/usr/lib/rustlib/powerpc64le-unknown-linux-gnu/lib/libcompiler_builtins-6c18c6e33c789ca5.rlib" "-Wl,-Bdynamic" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" 
  = note: /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/target/debug/deps/suricata-73c7bc653be207e3.275v6kovhes3khun.rcgu.o: In function `suricata::json::Json::object':
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:54: undefined reference to `json_object'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/target/debug/deps/suricata-73c7bc653be207e3.275v6kovhes3khun.rcgu.o: In function `suricata::json::Json::array':
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:60: undefined reference to `json_array'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/target/debug/deps/suricata-73c7bc653be207e3.275v6kovhes3khun.rcgu.o: In function `suricata::json::Json::set':
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:82: undefined reference to `json_object_set_new'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/target/debug/deps/suricata-73c7bc653be207e3.275v6kovhes3khun.rcgu.o: In function `suricata::json::Json::set_string':
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:100: undefined reference to `json_string'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:98: undefined reference to `json_object_set_new'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/target/debug/deps/suricata-73c7bc653be207e3.275v6kovhes3khun.rcgu.o: In function `suricata::json::Json::set_integer':
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:108: undefined reference to `json_integer'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:106: undefined reference to `json_object_set_new'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/target/debug/deps/suricata-73c7bc653be207e3.275v6kovhes3khun.rcgu.o: In function `suricata::json::Json::array_append_string':
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:127: undefined reference to `json_string'
          /<<BUILDDIR>>/suricata-201910131652+412ae11~ubuntu18.04.1/rust/src/json.rs:127: undefined reference to `json_array_append_new'
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: Could not compile `suricata`.

full log here - https://launchpadlibrarian.net/446518024/buildlog_ubuntu-bionic-ppc64el.suricata_201910131652+412ae11~ubuntu18.04.1_BUILDING.txt.gz

Actions #1

Updated by Victor Julien about 5 years ago

Same issue hits Redhat https://bugzilla.redhat.com/show_bug.cgi?id=1757548

The suggested fix in that ticket hasn't gone in as it has side effects: FreeBSD doesn't like it.

Actions #2

Updated by Andreas Herz about 5 years ago

  • Assignee set to OISF Dev
  • Target version set to TBD
Actions #3

Updated by Duncan Bellamy almost 3 years ago

Alpine is getting a similar issue now on ppc64le:

6be673a703ecd2ff.rlib" "/tmp/rustcpdaFAV/liblibc-1c413d25815b6002.rlib" "/usr/lib/rustlib/powerpc64le-alpine-linux-musl/lib/liballoc-24d9d4193b526e82.rlib" "/usr/lib/rustlib/powerpc64le-alpine-linux-musl/lib/librustc_std_workspace_core-0c3e571d9594b8f7.rlib" "/usr/lib/rustlib/powerpc64le-alpine-linux-musl/lib/libcore-2ba786332038275b.rlib" "-Wl,--end-group" "/usr/lib/rustlib/powerpc64le-alpine-linux-musl/lib/libcompiler_builtins-4032d1fc848f4bc8.rlib" "-Wl,-Bdynamic" "-lssp_nonshared" "-lgcc_s" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/usr/lib/rustlib/powerpc64le-alpine-linux-musl/lib" "-o" "/builds/a16bitsysop/aports/community/suricata/src/suricata-6.0.4/rust/target/release/deps/suricata-935b26d8e2a5d902" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs" "-Wl,-rpath,$ORIGIN/../../../../../../../../../../../usr/lib/rustlib/powerpc64le-alpine-linux-musl/lib" "-Wl,--enable-new-dtags" 
  = note: /usr/lib/gcc/powerpc64le-alpine-linux-musl/11.2.1/../../../../powerpc64le-alpine-linux-musl/bin/ld: /builds/a16bitsysop/aports/community/suricata/src/suricata-6.0.4/rust/target/release/deps/suricata-935b26d8e2a5d902.suricata.a139514d-cgu.15.rcgu.o: in function `suricata::core::Flow::get_last_time':
          /builds/a16bitsysop/aports/community/suricata/src/suricata-6.0.4/rust/src/core.rs:238: undefined reference to `FlowGetLastTimeAsParts'
          /usr/lib/gcc/powerpc64le-alpine-linux-musl/11.2.1/../../../../powerpc64le-alpine-linux-musl/bin/ld: /builds/a16bitsysop/aports/community/suricata/src/suricata-6.0.4/rust/src/core.rs:238: undefined reference to `FlowGetLastTimeAsParts'
          collect2: error: ld returned 1 exit status

  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `suricata` due to previous error
make[1]: *** [Makefile:572: check] Error 101

Other arches do not have this error, checking symbols in .a files it is in rust/target/release/libsuricata.a

So I tried adding before make:

LDFLAGS="-Lrust/target/release $LDFLAGS” \
LIBS="suricata $LIBS" \

But that made no difference

Actions

Also available in: Atom PDF