Project

General

Profile

Actions

Bug #4850

closed

rust: compile error on OpenBSD 6.8: ld: error: unable to find library -lexecinfo

Added by Victor Julien over 2 years ago. Updated about 1 year ago.

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

Description

Started seeing failures w/o making any updates to my OpenBSD setup. It should be noted that OpenBSD 7.0 still works.

CARGO_HOME="/home/qa/.cargo"  CARGO_TARGET_DIR="/home/qa/suricata-ci/build/suricata/rust/target"  /usr/local/bin/cargo build --release   --features "function-macro    " 
   Compiling autocfg v1.0.1
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.3
   Compiling memchr v2.2.1
   Compiling ryu v1.0.5
   Compiling bitflags v1.2.1
   Compiling lexical-core v0.7.6
   Compiling libc v0.2.108
   Compiling proc-macro2 v1.0.32
   Compiling arrayvec v0.5.2
   Compiling static_assertions v1.1.0
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.81
   Compiling getrandom v0.1.16
   Compiling typenum v1.14.0
   Compiling siphasher v0.3.7
   Compiling serde v1.0.130
   Compiling ppv-lite86 v0.2.15
   Compiling proc-macro-hack v0.5.19
   Compiling proc-macro2 v0.4.30
   Compiling unicode-xid v0.1.0
   Compiling opaque-debug v0.3.0
   Compiling crc32fast v1.2.1
   Compiling syn v0.15.44
   Compiling alloc-no-stdlib v2.0.3
   Compiling build_const v0.2.2
   Compiling adler v1.0.2
   Compiling cpufeatures v0.2.1
   Compiling num-derive v0.2.5
   Compiling minimal-lexical v0.1.4
   Compiling regex-syntax v0.6.25
   Compiling base64 v0.11.0
   Compiling byteorder v1.4.3
   Compiling uuid v0.8.2
   Compiling lazy_static v1.4.0
   Compiling widestring v0.4.3
   Compiling nom v5.1.2
   Compiling generic-array v0.14.4
   Compiling nom v7.0.0
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling num-bigint v0.2.6
   Compiling num-bigint v0.3.3
   Compiling miniz_oxide v0.4.4
   Compiling num-iter v0.1.42
   Compiling num-complex v0.2.4
   Compiling num-rational v0.2.4
   Compiling phf_shared v0.8.0
   Compiling alloc-stdlib v0.2.1
   Compiling crc v1.8.1
   Compiling phf v0.8.0
   Compiling brotli-decompressor v2.3.2
   Compiling aho-corasick v0.7.15
   Compiling time v0.1.44
   Compiling quote v1.0.10
   Compiling quote v0.6.13
   Compiling toml v0.5.8
   Compiling brotli v3.3.2
   Compiling regex v1.4.6
   Compiling flate2 v1.0.22
   Compiling num-traits v0.1.43
   Compiling rand_core v0.5.1
   Compiling digest v0.9.0
   Compiling block-buffer v0.9.0
   Compiling rusticata-macros v2.1.0
   Compiling ntp-parser v0.4.0
   Compiling sawp v0.5.0
   Compiling enum_primitive v0.1.1
   Compiling rand_chacha v0.2.2
   Compiling rand_pcg v0.2.1
   Compiling md-5 v0.9.1
   Compiling sha-1 v0.9.8
   Compiling sha2 v0.9.8
   Compiling ipsec-parser v0.5.0
   Compiling der-parser v3.0.4
   Compiling rand v0.7.3
   Compiling num v0.2.1
   Compiling der-oid-macro v0.2.0
   Compiling x509-parser v0.6.5
   Compiling phf_generator v0.8.0
   Compiling der-parser v4.0.2
   Compiling phf_codegen v0.8.0
   Compiling snmp-parser v0.6.0
   Compiling kerberos-parser v0.5.0
   Compiling tls-parser v0.9.4
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.0.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.1.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.10.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.11.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.12.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.13.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.14.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.15.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.2.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.3.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.4.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.5.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.6.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.7.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.8.rcgu.o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.build_script_build.5tewzyu2-cgu.9.rcgu.o" "-o" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb" "/home/qa/suricata-ci/build/suricata/rust/target/release/build/tls-parser-52125d3e5e4afadb/build_script_build-52125d3e5e4afadb.2sdpvbqgaq8guela.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps" "-L" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib" "-Wl,-Bstatic" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libphf_codegen-e61e4b0bbdd9a480.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libphf_generator-557abe9ed77f5f6c.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/librand-12060f7e207e6b4f.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/librand_pcg-3163b695a7250cb5.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/librand_chacha-985cecb1136470c0.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libppv_lite86-79097dd6f8ea8ea0.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/librand_core-d4059369429e7c92.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libgetrandom-037278081a13fca8.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/liblibc-b94c0087213b143f.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libcfg_if-3838e39e009c7ccb.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libphf_shared-0ac01e19df0d4460.rlib" "/home/qa/suricata-ci/build/suricata/rust/target/release/deps/libsiphasher-f6cedf5b65720b5c.rlib" "-Wl,--start-group" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libstd-bebc5cbb7956cc14.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libpanic_unwind-bebc5cbb7956cc0c.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libhashbrown-bebc5cbb7956cc09.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/librustc_std_workspace_alloc-bebc5cbb7956cc11.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libbacktrace-bebc5cbb7956cc02.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libbacktrace_sys-bebc5cbb7956cc03.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/librustc_demangle-bebc5cbb7956cc0e.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libunwind-bebc5cbb7956cc19.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libcfg_if-bebc5cbb7956cc05.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/liblibc-bebc5cbb7956cc0a.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/liballoc-bebc5cbb7956cc01.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/librustc_std_workspace_core-bebc5cbb7956cc12.rlib" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libcore-bebc5cbb7956cc07.rlib" "-Wl,--end-group" "/usr/local/lib/rustlib/x86_64-unknown-openbsd/lib/libcompiler_builtins-bebc5cbb7956cc06.rlib" "-Wl,-Bdynamic" "-lutil" "-lexecinfo" "-lpthread" "-lc++abi" "-lc" "-lm" "-lutil" "-lcompiler_rt" 
  = note: ld: error: unable to find library -lexecinfo
          cc: error: linker command failed with exit code 1 (use -v to see invocation)

error: aborting due to previous error

error: could not compile `tls-parser`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
*** Error 101 in rust (Makefile:542 'all-local')
*** Error 1 in /home/qa/suricata-ci/build/suricata (Makefile:515 'all-recursive')

Some info:
  Rust support:                            yes
  Rust strict mode:                        no
  Rust compiler path:                      /usr/local/bin/rustc
  Rust compiler version:                   rustc 1.46.0
  Cargo path:                              /usr/local/bin/cargo
  Cargo version:                           cargo 1.46.0
  Cargo vendor:                            yes

  Python support:                          yes
  Python path:                             /usr/local/bin/python3
  Python distutils                         yes
  Python yaml                              no
  Install suricatactl:                     yes
  Install suricatasc:                      yes
  Install suricata-update:                 no, requires pyyaml

  Profiling enabled:                       no
  Profiling locks enabled:                 no

  Plugin support (experimental):           yes

Development settings:
  Coccinelle / spatch:                     no
  Unit tests enabled:                      yes
  Debug output enabled:                    no
  Debug validation enabled:                no

Generic build parameters:
  Installation prefix:                     /usr/local
  Configuration directory:                 /usr/local/etc/suricata/
  Log directory:                           /usr/local/var/log/suricata/

  --prefix                                 /usr/local
  --sysconfdir                             /usr/local/etc
  --localstatedir                          /usr/local/var
  --datarootdir                            /usr/local/share

  Host:                                    x86_64-unknown-openbsd6.8
  Compiler:                                clang (exec name) / g++ (real)
  GCC Protect enabled:                     no
  GCC march native enabled:                no
  GCC Profile enabled:                     no
  Position Independent Executable enabled: no
  CFLAGS                                   -Wall -Werror -Wno-unused-function -D__OpenBSD__ -std=c11 -I${srcdir}/../rust/gen -I${srcdir}/../rust/dist
  PCAP_CFLAGS                              
  SECCFLAGS     

Last successful build from last week:

CARGO_HOME="/home/qa/.cargo"  CARGO_TARGET_DIR="/home/qa/suricata-ci/build/suricata/rust/target"  /usr/local/bin/cargo build --release   --features "function-macro    " 
   Compiling autocfg v1.0.1
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.3
   Compiling memchr v2.2.1
   Compiling ryu v1.0.5
   Compiling bitflags v1.2.1
   Compiling lexical-core v0.7.6
   Compiling libc v0.2.107
   Compiling proc-macro2 v1.0.32
   Compiling static_assertions v1.1.0
   Compiling arrayvec v0.5.2
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.81
   Compiling getrandom v0.1.16
   Compiling typenum v1.14.0
   Compiling ppv-lite86 v0.2.15
   Compiling serde v1.0.130
   Compiling siphasher v0.3.7
   Compiling proc-macro-hack v0.5.19
   Compiling proc-macro2 v0.4.30
   Compiling unicode-xid v0.1.0
   Compiling opaque-debug v0.3.0
   Compiling crc32fast v1.2.1
   Compiling alloc-no-stdlib v2.0.3
   Compiling build_const v0.2.2
   Compiling syn v0.15.44
   Compiling cpufeatures v0.2.1
   Compiling adler v1.0.2
   Compiling num-derive v0.2.5
   Compiling minimal-lexical v0.1.4
   Compiling base64 v0.11.0
   Compiling regex-syntax v0.6.25
   Compiling widestring v0.4.3
   Compiling byteorder v1.4.3
   Compiling uuid v0.8.2
   Compiling lazy_static v1.4.0
   Compiling nom v5.1.2
   Compiling generic-array v0.14.4
   Compiling nom v7.0.0
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling num-bigint v0.2.6
   Compiling num-bigint v0.3.3
   Compiling num-complex v0.2.4
   Compiling miniz_oxide v0.4.4
   Compiling num-iter v0.1.42
   Compiling num-rational v0.2.4
   Compiling phf_shared v0.8.0
   Compiling alloc-stdlib v0.2.1
   Compiling crc v1.8.1
   Compiling phf v0.8.0
   Compiling brotli-decompressor v2.3.2
   Compiling aho-corasick v0.7.15
   Compiling time v0.1.44
   Compiling quote v1.0.10
   Compiling toml v0.5.8
   Compiling brotli v3.3.2
   Compiling quote v0.6.13
   Compiling regex v1.4.6
   Compiling flate2 v1.0.22
   Compiling num-traits v0.1.43
   Compiling rand_core v0.5.1
   Compiling digest v0.9.0
   Compiling block-buffer v0.9.0
   Compiling rusticata-macros v2.1.0
   Compiling ntp-parser v0.4.0
   Compiling sawp v0.5.0
   Compiling enum_primitive v0.1.1
   Compiling rand_pcg v0.2.1
   Compiling rand_chacha v0.2.2
   Compiling sha-1 v0.9.8
   Compiling md-5 v0.9.1
   Compiling sha2 v0.9.8
   Compiling ipsec-parser v0.5.0
   Compiling rand v0.7.3
   Compiling der-parser v3.0.4
   Compiling der-oid-macro v0.2.0
   Compiling num v0.2.1
   Compiling phf_generator v0.8.0
   Compiling x509-parser v0.6.5
   Compiling phf_codegen v0.8.0
   Compiling der-parser v4.0.2
   Compiling tls-parser v0.9.4
   Compiling kerberos-parser v0.5.0
   Compiling snmp-parser v0.6.0
   Compiling thiserror-impl v1.0.30
   Compiling derivative v2.2.0
   Compiling sawp-flags-derive v0.5.0
   Compiling suricata-derive v7.0.0-dev (/home/qa/suricata-ci/build/suricata/rust/derive)
   Compiling sawp-flags v0.5.0
   Compiling thiserror v1.0.30
   Compiling proc-macro-crate v1.1.0
   Compiling num_enum_derive v0.5.4
   Compiling num_enum v0.5.4
   Compiling sawp-modbus v0.5.0
   Compiling suricata v7.0.0-dev (/home/qa/suricata-ci/build/suricata/rust)
    Finished release [optimized + debuginfo] target(s) in 9m 07s
if test -e ../rust/target/release/suricata_rust.lib; then  cp ../rust/target/release/suricata_rust.lib  ../rust/target/release/libsuricata_rust.a;  fi
make gen/rust-bindings.h

Some info:
  Rust support:                            yes
  Rust strict mode:                        no
  Rust compiler path:                      /usr/local/bin/rustc
  Rust compiler version:                   rustc 1.46.0
  Cargo path:                              /usr/local/bin/cargo
  Cargo version:                           cargo 1.46.0
  Cargo vendor:                            yes

  Python support:                          yes
  Python path:                             /usr/local/bin/python3
  Python distutils                         yes
  Python yaml                              no
  Install suricatactl:                     yes
  Install suricatasc:                      yes
  Install suricata-update:                 no, requires pyyaml

  Profiling enabled:                       no
  Profiling locks enabled:                 no

  Plugin support (experimental):           yes

Development settings:
  Coccinelle / spatch:                     no
  Unit tests enabled:                      yes
  Debug output enabled:                    no
  Debug validation enabled:                no

Generic build parameters:
  Installation prefix:                     /usr/local
  Configuration directory:                 /usr/local/etc/suricata/
  Log directory:                           /usr/local/var/log/suricata/

  --prefix                                 /usr/local
  --sysconfdir                             /usr/local/etc
  --localstatedir                          /usr/local/var
  --datarootdir                            /usr/local/share

  Host:                                    x86_64-unknown-openbsd6.8
  Compiler:                                clang (exec name) / g++ (real)
  GCC Protect enabled:                     no
  GCC march native enabled:                no
  GCC Profile enabled:                     no
  Position Independent Executable enabled: no
  CFLAGS                                   -Wall -Werror -Wno-unused-function -D__OpenBSD__ -std=c11 -I${srcdir}/../rust/gen -I${srcdir}/../rust/dist
  PCAP_CFLAGS                              
  SECCFLAGS

Actions

Also available in: Atom PDF