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

Unable to cross compile for x86_64 #96

Closed
tosiara opened this issue Nov 22, 2023 · 3 comments
Closed

Unable to cross compile for x86_64 #96

tosiara opened this issue Nov 22, 2023 · 3 comments
Labels
bug Something isn't working help wanted Extra attention is needed packaging Related to packaging and distribution

Comments

@tosiara
Copy link

tosiara commented Nov 22, 2023

Describe the bug
Unable to cross compile for x86_64 on an ARM64 host (docker Apple M2)

To Reproduce

  1. rustup target add x86_64-unknown-linux-gnu
  2. apt install crossbuild-essential-amd64
  3. cargo build --target=x86_64-unknown-linux-gnu
  4. build fails
# cargo build --target=x86_64-unknown-linux-gnu
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling libc v0.2.150
   Compiling serde v1.0.192
   Compiling cfg-if v1.0.0
   Compiling version_check v0.9.4
   Compiling autocfg v1.1.0
   Compiling once_cell v1.18.0
   Compiling memchr v2.6.4
   Compiling thiserror v1.0.50
   Compiling regex-syntax v0.8.2
   Compiling bytes v1.1.0
   Compiling crossbeam-utils v0.8.16
   Compiling aho-corasick v1.1.2
   Compiling scopeguard v1.2.0
   Compiling itoa v1.0.9
   Compiling typenum v1.17.0
   Compiling memoffset v0.9.0
   Compiling crossbeam-epoch v0.9.15
   Compiling quote v1.0.33
   Compiling syn v2.0.39
   Compiling cc v1.0.83
   Compiling generic-array v0.14.7
   Compiling lock_api v0.4.11
   Compiling parking_lot_core v0.9.9
   Compiling rayon-core v1.12.0
   Compiling crossbeam-deque v0.8.3
   Compiling crossbeam-queue v0.3.8
   Compiling cmake v0.1.50
   Compiling regex-automata v0.4.3
   Compiling same-file v1.0.6
   Compiling crc32fast v1.3.2
   Compiling gix-trace v0.1.3
   Compiling walkdir v2.4.0
   Compiling crossbeam-channel v0.5.8
   Compiling adler v1.0.2
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.6
   Compiling either v1.9.0
   Compiling digest v0.10.7
   Compiling miniz_oxide v0.7.1
   Compiling rayon v1.8.0
   Compiling sha1-asm v0.5.2
   Compiling libz-ng-sys v1.1.12
   Compiling crossbeam v0.8.2
   Compiling bytesize v1.3.0
   Compiling cpufeatures v0.2.11
   Compiling human_format v1.0.3
   Compiling sha1 v0.10.6
   Compiling prodash v26.2.2
   Compiling sha1_smol v1.0.0
   Compiling num-traits v0.2.17
   Compiling ahash v0.8.6
   Compiling getrandom v0.2.11
   Compiling time-core v0.1.2
   Compiling zerocopy v0.7.26
   Compiling allocator-api2 v0.2.16
   Compiling powerfmt v0.2.0
   Compiling time-macros v0.2.15
   Compiling deranged v0.3.9
   Compiling num_threads v0.1.6
   Compiling hashbrown v0.14.2
   Compiling rustix v0.38.24
   Compiling winnow v0.5.19
   Compiling jwalk v0.8.1
   Compiling btoi v0.4.3
   Compiling linux-raw-sys v0.4.11
   Compiling home v0.5.5
   Compiling memmap2 v0.7.1
   Compiling fastrand v2.0.1
   Compiling signal-hook v0.3.17
   Compiling signal-hook-registry v1.4.1
   Compiling vcpkg v0.2.15
   Compiling pkg-config v0.3.27
   Compiling pin-project-lite v0.2.13
   Compiling unicode-bom v2.0.3
   Compiling unicase v2.6.0
   Compiling static_assertions v1.1.0
   Compiling anyhow v1.0.75
   Compiling syn v1.0.109
   Compiling time v0.3.30
   Compiling gix-utils v0.1.5
   Compiling tracing-core v0.1.32
   Compiling log v0.4.20
   Compiling fnv v1.0.7
   Compiling openssl-src v300.1.6+3.1.4
   Compiling serde_json v1.0.108
   Compiling matches v0.1.10
   Compiling percent-encoding v2.1.0
   Compiling tinyvec_macros v0.1.1
   Compiling rustversion v1.0.14
   Compiling tinyvec v1.6.0
   Compiling openssl-sys v0.9.95
   Compiling equivalent v1.0.1
   Compiling lazy_static v1.4.0
   Compiling futures-core v0.3.29
   Compiling indexmap v2.1.0
   Compiling form_urlencoded v1.0.1
   Compiling encoding_rs v0.8.33
   Compiling unicode-bidi v0.3.13
   Compiling ryu v1.0.15
   Compiling serde_derive v1.0.192
   Compiling thiserror-impl v1.0.50
   Compiling tracing-attributes v0.1.27
   Compiling unicode-normalization v0.1.22
   Compiling unicode-width v0.1.11
   Compiling idna v0.2.3
   Compiling mio v0.8.9
   Compiling socket2 v0.5.5
   Compiling futures-task v0.3.29
   Compiling tokio v1.34.0
   Compiling url v2.3.0
   Compiling http v0.2.11
   Compiling gix-chunk v0.4.4
   Compiling tracing v0.1.40
   Compiling gix-bitmap v0.2.7
   Compiling regex v1.10.2
   Compiling filetime v0.2.22
   Compiling slab v0.4.9
   Compiling strsim v0.10.0
   Compiling futures-util v0.3.29
   Compiling foreign-types-shared v0.1.1
   Compiling heck v0.4.1
   Compiling ident_case v1.0.1
   Compiling openssl v0.10.59
   Compiling darling_core v0.14.4
   Compiling foreign-types v0.3.2
   Compiling openssl-macros v0.1.1
   Compiling portable-atomic v1.5.1
   Compiling semver v1.0.20
   Compiling httparse v1.8.0
   Compiling arrayvec v0.7.4
   Compiling futures-channel v0.3.29
   Compiling futures-sink v0.3.29
   Compiling pin-utils v0.1.0
   Compiling native-tls v0.2.11
   Compiling tokio-util v0.7.10
   Compiling flate2 v1.0.28
   Compiling uluru v3.0.0
   Compiling thread_local v1.1.7
   Compiling httpdate v1.0.3
   Compiling utf8parse v0.2.1
   Compiling hashbrown v0.12.3
   Compiling darling_macro v0.14.4
   Compiling mime v0.3.17
   Compiling prettyplease v0.2.15
   Compiling try-lock v0.2.4
   Compiling openssl-probe v0.1.5
   Compiling clru v0.6.1
   Compiling want v0.3.1
   Compiling imara-diff v0.1.5
   Compiling bstr v1.8.0
   Compiling bitflags v2.4.1
   Compiling smallvec v1.11.2
   Compiling faster-hex v0.8.1
   Compiling kstring v2.0.0
   Compiling parking_lot v0.12.1
   Compiling gix-hash v0.13.1
   Compiling gix-date v0.8.0
   Compiling gix-validate v0.8.0
   Compiling gix-path v0.10.0
   Compiling gix-features v0.36.0
   Compiling gix-actor v0.28.0
   Compiling gix-hashtable v0.4.0
   Compiling gix-quote v0.4.7
   Compiling gix-command v0.2.10
   Compiling gix-config-value v0.14.0
   Compiling gix-packetline-blocking v0.16.6
   Compiling gix-sec v0.10.0
   Compiling gix-object v0.38.0
   Compiling gix-fs v0.8.0
   Compiling gix-commitgraph v0.22.0
   Compiling gix-glob v0.14.0
   Compiling gix-url v0.25.1
   Compiling darling v0.14.4
   Compiling globset v0.4.13
   Compiling schemafy_core v0.6.0
   Compiling gix-attributes v0.20.0
   Compiling gix-ignore v0.9.0
   Compiling tempfile v3.8.1
   Compiling gix-prompt v0.7.0
   Compiling Inflector v0.11.4
   Compiling gix-revwalk v0.9.0
   Compiling gix-tempfile v11.0.0
   Compiling gix-traverse v0.34.0
   Compiling gix-filter v0.6.0
   Compiling gix-revision v0.23.0
   Compiling gix-pathspec v0.4.0
   Compiling gix-lock v11.0.0
   Compiling gix-pack v0.44.0
   Compiling gix-ref v0.38.0
   Compiling gix-index v0.26.0
   Compiling anstyle-parse v0.2.2
   Compiling gix-refspec v0.19.0
   Compiling gix-worktree-stream v0.6.0
   Compiling h2 v0.3.22
   Compiling gix-worktree v0.27.0
   Compiling gix-config v0.31.0
   Compiling uriparse v0.6.4
   Compiling http-body v0.4.5
   Compiling console v0.15.7
   Compiling vergen v8.2.6
   Compiling libsqlite3-sys v0.26.0
   Compiling vectorscan-sys v0.0.0 (/noseyparker/crates/vectorscan-sys)
   Compiling socket2 v0.4.10
   Compiling io-close v0.3.7
   Compiling number_prefix v0.4.0
   Compiling anstyle-query v1.0.0
   Compiling anstyle v1.0.4
   Compiling arc-swap v1.6.0
   Compiling colorchoice v1.0.0
   Compiling unicode-segmentation v1.10.1
   Compiling tower-service v0.3.2
   Compiling indicatif v0.17.7
   Compiling sysinfo v0.29.10
   Compiling hyper v0.14.27
   Compiling gix-odb v0.54.0
   Compiling anstream v0.6.4
   Compiling gix-worktree-state v0.4.0
   Compiling schemafy_lib v0.6.0
   Compiling gix-submodule v0.5.0
   Compiling gix-status v0.2.0
   Compiling rustc_version v0.4.0
   Compiling gix-discover v0.26.0
   Compiling mime_guess v2.0.4
   Compiling gix-archive v0.6.0
   Compiling gix-negotiate v0.9.0
   Compiling gix-diff v0.37.0
   Compiling gix-credentials v0.21.0
   Compiling terminal_size v0.3.0
   Compiling ignore v0.4.20
   Compiling derive_builder_core v0.12.0
   Compiling gix-mailmap v0.20.0
   Compiling foreign-types-macros v0.2.3
   Compiling gix-macros v0.1.0
   Compiling libmimalloc-sys v0.1.35
   Compiling dirs-sys-next v0.1.2
   Compiling foreign-types-shared v0.3.1
   Compiling retain_mut v0.1.7
   Compiling unsafe-libyaml v0.2.9
   Compiling hyperx v1.4.0
   Compiling bytemuck v1.14.0
   Compiling fixedbitset v0.4.2
   Compiling regex-syntax v0.6.29
   Compiling clap_lex v0.6.0
   Compiling byteorder v1.5.0
   Compiling serde_yaml v0.9.27
   Compiling roaring v0.10.2
   Compiling clap_builder v4.4.8
   Compiling petgraph v0.6.4
   Compiling derive_builder_macro v0.12.0
   Compiling gix v0.55.2
   Compiling foreign-types v0.5.0
   Compiling serde-sarif v0.4.2
   Compiling regex-automata v0.1.10
   Compiling dirs-next v2.0.0
   Compiling progress v0.0.0 (/noseyparker/crates/progress)
   Compiling bstring-serde v0.0.0 (/noseyparker/crates/bstring-serde)
   Compiling serde_urlencoded v0.7.1
   Compiling strum_macros v0.25.3
   Compiling clap_derive v4.4.7
   Compiling hashlink v0.8.4
   Compiling include_dir_macros v0.7.3
   Compiling csv-core v0.1.11
   Compiling fallible-streaming-iterator v0.1.9
   Compiling language-tags v0.3.2
   Compiling ipnet v2.9.0
   Compiling base64 v0.13.1
   Compiling zeroize v1.6.0
   Compiling glob v0.3.1
   Compiling overload v0.1.1
   Compiling rlimit v0.10.1
   Compiling fallible-iterator v0.2.0
   Compiling base64 v0.21.5
   Compiling rusqlite v0.29.0
   Compiling include_dir v0.7.3
   Compiling nu-ansi-term v0.46.0
   Compiling strum v0.25.0
   Compiling secrecy v0.8.0
   Compiling csv v1.3.0
   Compiling input-enumerator v0.0.0 (/noseyparker/crates/input-enumerator)
   Compiling noseyparker-cli v0.16.0-dev (/noseyparker/crates/noseyparker-cli)
   Compiling matchers v0.1.0
   Compiling clap v4.4.8
   Compiling term v0.7.0
   Compiling derive_builder v0.12.0
   Compiling noseyparker-rules v0.0.0 (/noseyparker/crates/noseyparker-rules)
   Compiling is-terminal v0.4.9
   Compiling strum_macros v0.24.3
   Compiling sharded-slab v0.1.7
   Compiling tracing-log v0.2.0
   Compiling chrono v0.4.31
   Compiling atoi v2.0.0
   Compiling hex v0.4.3
   Compiling indoc v2.0.4
   Compiling encode_unicode v1.0.0
   Compiling tracing-subscriber v0.3.18
   Compiling content-guesser v0.0.0 (/noseyparker/crates/content-guesser)
   Compiling prettytable-rs v0.10.0
   Compiling mimalloc v0.1.39
   Compiling clap_complete v4.4.4
   Compiling tracing-log v0.1.4
   Compiling indenter v0.3.3
error: failed to run custom build command for `vectorscan-sys v0.0.0 (/noseyparker/crates/vectorscan-sys)`

Caused by:
  process didn't exit successfully: `/noseyparker/target/debug/build/vectorscan-sys-fe597a37ba2455af/build-script-build` (exit status: 101)
  --- stdout
  cargo:rustc-link-lib=stdc++
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
  CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
  TARGET_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
  CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-linux-gnu = None
  CMAKE_x86_64_unknown_linux_gnu = None
  TARGET_CMAKE = None
  CMAKE = None
  running: cd "/noseyparker/target/x86_64-unknown-linux-gnu/debug/build/vectorscan-sys-41a228b78f46041b/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/noseyparker/crates/vectorscan-sys/vectorscan" "-DCMAKE_INSTALL_INCLUDEDIR=/noseyparker/target/x86_64-unknown-linux-gnu/debug/build/vectorscan-sys-41a228b78f46041b/out/include" "-DFAT_RUNTIME=ON" "-DBUILD_AVX512=OFF" "-DBUILD_EXAMPLES=OFF" "-DBUILD_BENCHMARKS=OFF" "-DBUILD_UNITTESTS=OFF" "-DBUILD_DOCS=OFF" "-DBUILD_TOOLS=OFF" "-DCMAKE_SYSTEM_NAME=Linux" "-DCMAKE_SYSTEM_PROCESSOR=x86_64" "-DCMAKE_INSTALL_PREFIX=/noseyparker/target/x86_64-unknown-linux-gnu/debug/build/vectorscan-sys-41a228b78f46041b/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/x86_64-linux-gnu-gcc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/x86_64-linux-gnu-g++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/usr/bin/x86_64-linux-gnu-gcc" "-DCMAKE_BUILD_TYPE=Release"
  -- The C compiler identification is GNU 10.2.1
  -- The CXX compiler identification is GNU 10.2.1
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/x86_64-linux-gnu-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/x86_64-linux-gnu-g++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Performing Test ARCH_X86_64
  -- Performing Test ARCH_X86_64 - Success
  -- Performing Test ARCH_IA32
  -- Performing Test ARCH_IA32 - Failed
  -- Performing Test ARCH_AARCH64
  -- Performing Test ARCH_AARCH64 - Failed
  -- Performing Test ARCH_ARM32
  -- Performing Test ARCH_ARM32 - Failed
  -- Performing Test ARCH_PPC64EL
  -- Performing Test ARCH_PPC64EL - Failed
  -- Build type RELEASE
  -- using release build
  -- Boost version: 1.83.0
  -- Build date: 2023-11-22
  -- Building static libraries
  -- gcc version 10.2.1
  -- gcc will tune for native, native
  -- ARCH_C_FLAGS   : -msse4.2
  -- ARCH_CXX_FLAGS : -msse4.2
  -- g++ version 10.2.1
  -- Looking for include file unistd.h
  -- Looking for include file unistd.h - found
  -- Looking for include file intrin.h
  -- Looking for include file intrin.h - not found
  -- Looking for C++ include intrin.h
  -- Looking for C++ include intrin.h - not found
  -- Looking for include file x86intrin.h
  -- Looking for include file x86intrin.h - found
  -- Looking for C++ include x86intrin.h
  -- Looking for C++ include x86intrin.h - found
  -- Looking for posix_memalign
  -- Looking for posix_memalign - found
  -- Looking for _aligned_malloc
  -- Looking for _aligned_malloc - not found
  -- Performing Test HAS_C_HIDDEN
  -- Performing Test HAS_C_HIDDEN - Success
  -- Performing Test HAS_CXX_HIDDEN
  -- Performing Test HAS_CXX_HIDDEN - Success
  -- Looking for _LIBCPP_VERSION
  -- Looking for _LIBCPP_VERSION - not found
  -- generator is Unix Makefiles
  -- Performing Test HAS_C_ATTR_IFUNC
  -- Performing Test HAS_C_ATTR_IFUNC - Success
  -- Performing Test HAVE_SSE42
  -- Performing Test HAVE_SSE42 - Success
  -- Performing Test HAVE_AVX2
  -- Performing Test HAVE_AVX2 - Success
  -- Performing Test HAVE_AVX512
  -- Performing Test HAVE_AVX512 - Failed
  -- Performing Test HAVE_AVX512VBMI
  -- Performing Test HAVE_AVX512VBMI - Failed
  -- Performing Test HAVE_CC_BUILTIN_ASSUME_ALIGNED
  -- Performing Test HAVE_CC_BUILTIN_ASSUME_ALIGNED - Success
  -- Performing Test HAVE_CXX_BUILTIN_ASSUME_ALIGNED
  -- Performing Test HAVE_CXX_BUILTIN_ASSUME_ALIGNED - Success
  -- Performing Test HAVE__BUILTIN_CONSTANT_P
  -- Performing Test HAVE__BUILTIN_CONSTANT_P - Success
  -- Performing Test C_FLAG_Wvla
  -- Performing Test C_FLAG_Wvla - Success
  -- Performing Test C_FLAG_Wpointer_arith
  -- Performing Test C_FLAG_Wpointer_arith - Success
  -- Performing Test C_FLAG_Wstrict_prototypes
  -- Performing Test C_FLAG_Wstrict_prototypes - Success
  -- Performing Test C_FLAG_Wmissing_prototypes
  -- Performing Test C_FLAG_Wmissing_prototypes - Success
  -- Performing Test CXX_FLAG_Wvla
  -- Performing Test CXX_FLAG_Wvla - Success
  -- Performing Test CXX_FLAG_Wpointer_arith
  -- Performing Test CXX_FLAG_Wpointer_arith - Success
  -- Performing Test CC_SELF_ASSIGN
  -- Performing Test CC_SELF_ASSIGN - Failed
  -- Performing Test CXX_SELF_ASSIGN
  -- Performing Test CXX_SELF_ASSIGN - Failed
  -- Performing Test CC_PAREN_EQUALITY
  -- Performing Test CC_PAREN_EQUALITY - Failed
  -- Performing Test CXX_UNUSED_CONST_VAR
  -- Performing Test CXX_UNUSED_CONST_VAR - Success
  -- Performing Test CXX_IGNORED_ATTR
  -- Performing Test CXX_IGNORED_ATTR - Success
  -- Performing Test CXX_REDUNDANT_MOVE
  -- Performing Test CXX_REDUNDANT_MOVE - Success
  -- Performing Test CXX_WEAK_VTABLES
  -- Performing Test CXX_WEAK_VTABLES - Failed
  -- Performing Test CXX_MISSING_DECLARATIONS
  -- Performing Test CXX_MISSING_DECLARATIONS - Success
  -- Performing Test CXX_UNUSED_LOCAL_TYPEDEFS
  -- Performing Test CXX_UNUSED_LOCAL_TYPEDEFS - Success
  -- Performing Test CXX_WUNUSED_VARIABLE
  -- Performing Test CXX_WUNUSED_VARIABLE - Success
  -- Performing Test CC_STRINGOP_OVERFLOW
  -- Performing Test CC_STRINGOP_OVERFLOW - Success
  -- Building runtime for multiple microarchitectures
  -- Looking for mmap
  -- Looking for mmap - found
  -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
  -- Checking for module 'libpcre>=8.41'
  --   Requested 'libpcre >= 8.41' but version of libpcre is 8.39
  -- PCRE version 8.41 or above not found
  -- PCRE 8.41 or above not found
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /noseyparker/target/x86_64-unknown-linux-gnu/debug/build/vectorscan-sys-41a228b78f46041b/out/build
  running: cd "/noseyparker/target/x86_64-unknown-linux-gnu/debug/build/vectorscan-sys-41a228b78f46041b/out/build" && MAKEFLAGS="-j --jobserver-fds=7,8 --jobserver-auth=7,8" "cmake" "--build" "." "--target" "install" "--config" "Release"
  Scanning dependencies of target hs_compile
  [  1%] Building CXX object CMakeFiles/hs_compile.dir/src/grey.cpp.o
  [  1%] Building CXX object CMakeFiles/hs_compile.dir/src/hs.cpp.o
  [  1%] Building CXX object CMakeFiles/hs_compile.dir/src/compiler/asserts.cpp.o
  [  2%] Building CXX object CMakeFiles/hs_compile.dir/src/compiler/compiler.cpp.o
  Scanning dependencies of target hs_exec_core2
  [  2%] Building C object CMakeFiles/hs_exec_core2.dir/src/crc32.c.o
  [  3%] Building C object CMakeFiles/hs_exec_core2.dir/src/runtime.c.o
  Scanning dependencies of target hs_exec_common
  [  4%] Building C object CMakeFiles/hs_exec_common.dir/src/alloc.c.o
  [  4%] Building C object CMakeFiles/hs_exec_common.dir/src/scratch.c.o
  [  4%] Building C object CMakeFiles/hs_exec_common.dir/src/util/multibit.c.o
  [  5%] Building C object CMakeFiles/hs_exec_common.dir/src/util/arch/x86/cpuid_flags.c.o
  [  5%] Building C object CMakeFiles/hs_exec_common.dir/src/dispatcher.c.o
  Scanning dependencies of target hs_exec_avx2
  Scanning dependencies of target hs_exec_corei7
  [  6%] Building C object CMakeFiles/hs_exec_avx2.dir/src/crc32.c.o
  [  7%] Building C object CMakeFiles/hs_exec_corei7.dir/src/crc32.c.o
  [  7%] Building C object CMakeFiles/hs_exec_avx2.dir/src/runtime.c.o
  [  7%] Built target hs_exec_common
  [  7%] Building C object CMakeFiles/hs_exec_avx2.dir/src/stream_compress.c.o
  [  7%] Building C object CMakeFiles/hs_exec_corei7.dir/src/runtime.c.o
  [  7%] Building C object CMakeFiles/hs_exec_corei7.dir/src/stream_compress.c.o
  [  8%] Building C object CMakeFiles/hs_exec_corei7.dir/src/fdr/fdr.c.o
  [  8%] Building CXX object CMakeFiles/hs_compile.dir/src/compiler/error.cpp.o
  [  8%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/engine_description.cpp.o
  [  9%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/fdr_compile.cpp.o
  [  9%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/fdr_compile_util.cpp.o
  [  9%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/fdr_confirm_compile.cpp.o
  [ 10%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/fdr_engine_description.cpp.o
  [ 10%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/flood_compile.cpp.o
  [ 10%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/teddy_compile.cpp.o
  [ 11%] Building CXX object CMakeFiles/hs_compile.dir/src/fdr/teddy_engine_description.cpp.o
  [ 11%] Building CXX object CMakeFiles/hs_compile.dir/src/hwlm/hwlm_build.cpp.o
  [ 11%] Building CXX object CMakeFiles/hs_compile.dir/src/hwlm/hwlm_literal.cpp.o
  [ 12%] Building CXX object CMakeFiles/hs_compile.dir/src/hwlm/noodle_build.cpp.o
  [ 12%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/accel_dfa_build_strat.cpp.o
  [ 12%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/accelcompile.cpp.o
  [ 13%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/castlecompile.cpp.o
  [ 13%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/dfa_build_strat.cpp.o
  [ 13%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/dfa_min.cpp.o
  [ 14%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/goughcompile.cpp.o
  [ 14%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/goughcompile_accel.cpp.o
  [ 14%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/goughcompile_reg.cpp.o
  [ 15%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/mcclellancompile.cpp.o
  [ 15%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/mcclellancompile_util.cpp.o
  [ 15%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/mcsheng_compile.cpp.o
  [ 16%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/limex_compile.cpp.o
  [ 16%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/mpvcompile.cpp.o
  [ 16%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/nfa_build_util.cpp.o
  [ 17%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/rdfa.cpp.o
  [ 17%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/rdfa_graph.cpp.o
  [ 17%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/rdfa_merge.cpp.o
  [ 17%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/shengcompile.cpp.o
  [ 18%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/repeatcompile.cpp.o
  [ 18%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/shufticompile.cpp.o
  [ 18%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/tamaramacompile.cpp.o
  [ 19%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/trufflecompile.cpp.o
  [ 19%] Building CXX object CMakeFiles/hs_compile.dir/src/nfa/vermicellicompile.cpp.o
  [ 19%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng.cpp.o
  [ 20%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_anchored_acyclic.cpp.o
  [ 20%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_anchored_dots.cpp.o
  [ 20%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_asserts.cpp.o
  [ 21%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_builder.cpp.o
  [ 21%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_calc_components.cpp.o
  [ 21%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_cyclic_redundancy.cpp.o
  [ 22%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_depth.cpp.o
  [ 22%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_dominators.cpp.o
  [ 22%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_edge_redundancy.cpp.o
  [ 23%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_equivalence.cpp.o
  [ 23%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_execute.cpp.o
  [ 23%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_expr_info.cpp.o
  [ 24%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_extparam.cpp.o
  [ 24%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_fixed_width.cpp.o
  [ 24%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_fuzzy.cpp.o
  [ 25%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_haig.cpp.o
  [ 25%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_holder.cpp.o
  [ 25%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_is_equal.cpp.o
  [ 26%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_lbr.cpp.o
  [ 26%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_literal_analysis.cpp.o
  [ 26%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_literal_component.cpp.o
  [ 27%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_literal_decorated.cpp.o
  [ 27%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_mcclellan.cpp.o
  [ 27%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_limex.cpp.o
  [ 28%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_limex_accel.cpp.o
  [ 28%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_misc_opt.cpp.o
  [ 28%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_netflow.cpp.o
  [ 29%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_prefilter.cpp.o
  [ 29%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_prune.cpp.o
  [ 29%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_puff.cpp.o
  [ 30%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_redundancy.cpp.o
  [ 30%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_region.cpp.o
  [ 30%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_region_redundancy.cpp.o
  [ 31%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_repeat.cpp.o
  [ 31%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_reports.cpp.o
  [ 31%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_restructuring.cpp.o
  [ 32%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_revacc.cpp.o
  [ 32%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_sep.cpp.o
  [ 32%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_small_literal_set.cpp.o
  [ 33%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_som.cpp.o
  [ 33%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_som_add_redundancy.cpp.o
  [ 33%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_som_util.cpp.o
  [ 34%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_split.cpp.o
  [ 34%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_squash.cpp.o
  [ 34%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_stop.cpp.o
  [ 35%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_uncalc_components.cpp.o
  [ 35%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_utf8.cpp.o
  [ 35%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_util.cpp.o
  [ 35%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_vacuous.cpp.o
  [ 36%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_violet.cpp.o
  [ 36%] Building CXX object CMakeFiles/hs_compile.dir/src/nfagraph/ng_width.cpp.o
  [ 36%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/AsciiComponentClass.cpp.o
  [ 37%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/Component.cpp.o
  [ 37%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentAlternation.cpp.o
  [ 37%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentAssertion.cpp.o
  [ 38%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentAtomicGroup.cpp.o
  [ 38%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentBackReference.cpp.o
  [ 38%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentBoundary.cpp.o
  [ 39%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentByte.cpp.o
  [ 39%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentClass.cpp.o
  [ 39%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentCondReference.cpp.o
  [ 40%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentEUS.cpp.o
  [ 40%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentEmpty.cpp.o
  [ 40%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentRepeat.cpp.o
  [ 41%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentSequence.cpp.o
  [ 41%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentVisitor.cpp.o
  [ 41%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ComponentWordBoundary.cpp.o
  [ 42%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ConstComponentVisitor.cpp.o
  [ 42%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/Parser.cpp.o
  [ 42%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/Utf8ComponentClass.cpp.o
  [ 43%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/buildstate.cpp.o
  [ 43%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/check_refs.cpp.o
  [ 43%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/control_verbs.cpp.o
  [ 44%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/logical_combination.cpp.o
  [ 44%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/parse_error.cpp.o
  [ 44%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/parser_util.cpp.o
  [ 45%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/prefilter.cpp.o
  [ 45%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/shortcut_literal.cpp.o
  [ 45%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/ucp_table.cpp.o
  [ 46%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/unsupported.cpp.o
  [ 46%] Building CXX object CMakeFiles/hs_compile.dir/src/parser/utf8_validate.cpp.o
  [ 46%] Building CXX object CMakeFiles/hs_compile.dir/src/smallwrite/smallwrite_build.cpp.o
  [ 47%] Building CXX object CMakeFiles/hs_compile.dir/src/som/slot_manager.cpp.o
  [ 47%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_add.cpp.o
  [ 47%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_add_mask.cpp.o
  [ 48%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_anchored.cpp.o
  [ 48%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_bytecode.cpp.o
  [ 48%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_castle.cpp.o
  [ 49%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_compile.cpp.o
  [ 49%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_convert.cpp.o
  [ 49%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_dedupe.cpp.o
  [ 50%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_engine_blob.cpp.o
  [ 50%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_exclusive.cpp.o
  [ 50%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_groups.cpp.o
  [ 51%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_infix.cpp.o
  [ 51%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_instructions.cpp.o
  [ 51%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_lit_accel.cpp.o
  [ 52%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_long_lit.cpp.o
  [ 52%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_lookaround.cpp.o
  [ 52%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_matchers.cpp.o
  [ 52%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_merge.cpp.o
  [ 53%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_misc.cpp.o
  [ 53%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_program.cpp.o
  [ 53%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_role_aliasing.cpp.o
  [ 54%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_scatter.cpp.o
  [ 54%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_build_width.cpp.o
  [ 54%] Building CXX object CMakeFiles/hs_compile.dir/src/rose/rose_in_util.cpp.o
  [ 55%] Building CXX object CMakeFiles/hs_compile.dir/src/util/alloc.cpp.o
  [ 55%] Building CXX object CMakeFiles/hs_compile.dir/src/util/charreach.cpp.o
  [ 55%] Building CXX object CMakeFiles/hs_compile.dir/src/util/clique.cpp.o
  [ 56%] Building CXX object CMakeFiles/hs_compile.dir/src/util/compile_context.cpp.o
  [ 56%] Building CXX object CMakeFiles/hs_compile.dir/src/util/compile_error.cpp.o
  [ 56%] Building CXX object CMakeFiles/hs_compile.dir/src/util/depth.cpp.o
  [ 57%] Building CXX object CMakeFiles/hs_compile.dir/src/util/dump_mask.cpp.o
  [ 57%] Building CXX object CMakeFiles/hs_compile.dir/src/util/fatbit_build.cpp.o
  [ 57%] Building CXX object CMakeFiles/hs_compile.dir/src/util/multibit_build.cpp.o
  [ 58%] Building CXX object CMakeFiles/hs_compile.dir/src/util/report_manager.cpp.o
  [ 58%] Building CXX object CMakeFiles/hs_compile.dir/src/util/target_info.cpp.o
  [ 58%] Building CXX object CMakeFiles/hs_compile.dir/src/util/ue2string.cpp.o
  [ 58%] Built target hs_compile

  --- stderr
  cc1: error: bad value ('native') for '-march=' switch
  cc1: note: valid arguments to '-march=' switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server cascadelake tigerlake cooperlake bonnell atom silvermont slm goldmont goldmont-plus tremont knl knm x86-64 x86-64-v2 x86-64-v3 x86-64-v4 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 znver2 btver1 btver2
  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_ASM_COMPILER
      CMAKE_ASM_FLAGS


  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_core2.dir/src/crc32.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_core2.dir/build.make:82: CMakeFiles/hs_exec_core2.dir/src/crc32.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_core2.dir/src/crc32.c.o'
  gmake[2]: *** Waiting for unfinished jobs....
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_core2.dir/src/runtime.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_core2.dir/build.make:95: CMakeFiles/hs_exec_core2.dir/src/runtime.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_core2.dir/src/runtime.c.o'
  gmake[1]: *** [CMakeFiles/Makefile2:302: CMakeFiles/hs_exec_core2.dir/all] Error 2
  gmake[1]: *** Waiting for unfinished jobs....
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_avx2.dir/src/crc32.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_avx2.dir/build.make:82: CMakeFiles/hs_exec_avx2.dir/src/crc32.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_avx2.dir/src/crc32.c.o'
  gmake[2]: *** Waiting for unfinished jobs....
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_corei7.dir/src/crc32.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_corei7.dir/build.make:82: CMakeFiles/hs_exec_corei7.dir/src/crc32.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_corei7.dir/src/crc32.c.o'
  gmake[2]: *** Waiting for unfinished jobs....
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_avx2.dir/src/runtime.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_avx2.dir/build.make:95: CMakeFiles/hs_exec_avx2.dir/src/runtime.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_avx2.dir/src/runtime.c.o'
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_corei7.dir/src/runtime.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_corei7.dir/build.make:95: CMakeFiles/hs_exec_corei7.dir/src/runtime.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_corei7.dir/src/runtime.c.o'
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_corei7.dir/src/fdr/fdr.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_corei7.dir/build.make:121: CMakeFiles/hs_exec_corei7.dir/src/fdr/fdr.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_corei7.dir/src/fdr/fdr.c.o'
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_avx2.dir/src/stream_compress.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_avx2.dir/build.make:108: CMakeFiles/hs_exec_avx2.dir/src/stream_compress.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_avx2.dir/src/stream_compress.c.o'
  gmake[1]: *** [CMakeFiles/Makefile2:217: CMakeFiles/hs_exec_avx2.dir/all] Error 2
  objcopy: Unable to recognise the format of the input file `CMakeFiles/hs_exec_corei7.dir/src/stream_compress.c.o'
  gmake[2]: *** [CMakeFiles/hs_exec_corei7.dir/build.make:108: CMakeFiles/hs_exec_corei7.dir/src/stream_compress.c.o] Error 1
  gmake[2]: *** Deleting file 'CMakeFiles/hs_exec_corei7.dir/src/stream_compress.c.o'
  gmake[1]: *** [CMakeFiles/Makefile2:275: CMakeFiles/hs_exec_corei7.dir/all] Error 2
  gmake: *** [Makefile:149: all] Error 2
  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 2

  build script failed, must exit now', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

Expected behavior
Cross compile process should succeed

Additional context
Docker image: rust:1.71-bullseye
Hardware: Macbook Pro M2

@tosiara tosiara added the bug Something isn't working label Nov 22, 2023
@bradlarsen
Copy link
Collaborator

@tosiara thanks for the detailed report!

Indeed, Nosey Parker's build process is more brittle than those of pure Rust projects. In particular, the Vectorscan dependency is a large C++ codebase that uses CMake for its build. It looks like something in there goes wrong when cross-compiling via cargo.

It might be a small CMake change to make cross-compiling work. But before investigating that, it would be good to upgrade the Vectorscan dependency to the latest version, which has had a number of CMake-related changes (#79).

In the meantime, natively compiling (not cross-compiling) on both ARM64 and X86_64 should work. Also, cross-compiling a Docker image also works.

@bradlarsen bradlarsen added the packaging Related to packaging and distribution label Nov 27, 2023
@bradlarsen
Copy link
Collaborator

See also #100 (comment): it may be possible to cross-compile using the cross tool and/or the RUSTFLAGS="-C target-features=+crt-static" flag, which statically links the C runtime.

@bradlarsen bradlarsen added the help wanted Extra attention is needed label Feb 22, 2024
@bradlarsen
Copy link
Collaborator

@tosiara FYI, I was able to get cross-compilation working now on a M3 mac.

I ran in Docker on macOS in the rust:latest, which includes cargo 1.80.1 (376290515 2024-07-16).

I did this:

% apt update
% apt install cmake libboost-all-dev crossbuild-essential-amd64
% rustup target add x86_64-unknown-linux-gnu
% git clone https://github.com/praetorian-inc/noseyparker /noseyparker
% cd /noseyparker
% RUSTFLAGS='-C linker=x86_64-linux-gnu-gcc' cargo build --target=x86_64-unknown-linux-gnu

This eventually produces the binary for x86-64, even though the host system is arm64:

% file target/x86_64-unknown-linux-gnu/debug/noseyparker-cli
target/x86_64-unknown-linux-gnu/debug/noseyparker-cli: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8cc8b363726a531d2a3a8e7abe0ff65b54e04413, for GNU/Linux 3.2.0, with debug_info, not stripped

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed packaging Related to packaging and distribution
Projects
None yet
Development

No branches or pull requests

2 participants