Skip to content

Building ZPC without clang #112

Open
@Vanperdung

Description

@Vanperdung

Hi,
I'm integrating the ZPC into the Buildroot build system to support the Z-Wave NCP solution for my product. Currently, I'm encountering some build errors related to Clang, even though the GCC toolchain is used to build ZPC.

Here is the error:

error: failed to run custom build command for `unify_config_sys v0.0.1 (/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/components/uic_rust/unify_config_sys)`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/cargo/zpc_rust_build/release/build/unify_config_sys-9d5efe5695f2da40/build-script-build` (exit status: 101)
  --- stdout
  cargo:rustc-link-arg=-Wl,-rpath,/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/components
  cargo:rustc-link-search=native=/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/components
  cargo:rustc-link-lib=unify
  cargo:warning=load_unify_env.rs: Writing compiler arguments for unify_config_sys to /workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/cargo/zpc_rust_build/aarch64-unknown-linux-gnu/release/build/unify_config_sys-9cbcd4249d22bf2c/out/unify_config_sys.yaml
  cargo:rerun-if-changed=/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/build.ninja

  --- stderr
  thread 'main' panicked at /home/scom-user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bindgen-0.62.0/./lib.rs:2402:31:
  Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"
  stack backtrace:
     0:     0x563980440385 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1e1a1972118942ad
     1:     0x563980467fab - core::fmt::write::hc090a2ffd6b28c4a
     2:     0x56398043d68f - std::io::Write::write_fmt::h8898bac6ff039a23
     3:     0x56398044015e - std::sys_common::backtrace::print::ha96650907276675e
     4:     0x563980441419 - std::panicking::default_hook::{{closure}}::h215c2a0a8346e0e0
     5:     0x56398044115d - std::panicking::default_hook::h207342be97478370
     6:     0x5639804418b3 - std::panicking::rust_panic_with_hook::hac8bdceee1e4fe2c
     7:     0x563980441794 - std::panicking::begin_panic_handler::{{closure}}::h00d785e82757ce3c
     8:     0x563980440849 - std::sys_common::backtrace::__rust_end_short_backtrace::h1628d957bcd06996
     9:     0x5639804414c7 - rust_begin_unwind
    10:     0x56397fe99283 - core::panicking::panic_fmt::hdc63834ffaaefae5
    11:     0x56397fe99816 - core::result::unwrap_failed::h82b551e0ff2b2176
    12:     0x5639800042a3 - core::result::Result<T,E>::expect::h579aa2a1bd79c320
    13:     0x56397ff8d3ad - core::ops::function::FnOnce::call_once::h2e02ba0a171a13cd
    14:     0x56397ff37f0b - lazy_static::lazy::Lazy<T>::get::{{closure}}::hdaed028476c2d9d6
    15:     0x56397ff251c5 - std::sync::once::Once::call_once::{{closure}}::h486fc124d70ef9d7
    16:     0x56397ffa002e - std::sys::sync::once::futex::Once::call::h16f5b89317548dad
    17:     0x56397ff2502f - std::sync::once::Once::call_once::h3d3c0959b0720e3f
    18:     0x56398003f285 - <bindgen::ensure_libclang_is_loaded::LIBCLANG as core::ops::deref::Deref>::deref::h7e4532c367f06a48
    19:     0x5639800362ab - bindgen::ensure_libclang_is_loaded::h5660161cc2458945
    20:     0x563980036ce0 - bindgen::Bindings::generate::h1d07d70697de061e
    21:     0x563980033fad - bindgen::Builder::generate::h70a5c269cb8fec5e
    22:     0x56397feaa961 - unify_build_utils::bindgen::generate_bindings::hd325b706cfd4d216
    23:     0x56397fead98d - build_script_build::bindings::h28825dcab946468e
    24:     0x56397fead516 - build_script_build::main::h4c2b78ffe2c9fc33
    25:     0x56397fea2f73 - core::ops::function::FnOnce::call_once::hf1492fe816f4f15b
    26:     0x56397fe9ebb6 - std::sys_common::backtrace::__rust_begin_short_backtrace::haa33910e5aa748d0
    27:     0x56397fea2869 - std::rt::lang_start::{{closure}}::h04697c5da7135122
    28:     0x563980438730 - std::rt::lang_start_internal::h3ed4fe7b2f419135
    29:     0x56397fea2847 - std::rt::lang_start::he2a2945e2f62b78a
    30:     0x56397feadab5 - main
    31:     0x7f4754f33d7a - __libc_start_main
    32:     0x56397fe99aba - _start
    33:                0x0 - <unknown>
The following warnings were emitted during compilation:

warning: [email protected]: load_unify_env.rs: Writing compiler arguments for zpc_rust to /workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/cargo/zpc_rust_build/aarch64-unknown-linux-gnu/release/build/zpc_rust-d92242df22cdbfe1/out/zpc_rust.yaml

error: failed to run custom build command for `zpc_rust v0.0.1 (/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/applications/zpc/components/zpc_rust)`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by:
  process didn't exit successfully: `/workdir/build/sc_f5697/build/zwave-protocol-controller-4456e225/build/cargo/zpc_rust_build/release/build/zpc_rust-16edb00afd33fc2c/build-script-build` (exit status: 101)

Is Clang mandatory for building ZPC? If so, what version of Clang is required?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions