CloudNativeDataPlane / cndp

Cloud Native Data Plane (CNDP) is a collection of user space libraries to accelerate packet processing for cloud applications using AF_XDP sockets as the primary I/O..
BSD 3-Clause "New" or "Revised" License
90 stars 32 forks source link

rust build fail #292

Open maryamtahhan opened 1 year ago

maryamtahhan commented 1 year ago

The rust build inside the fedora oci image is currently failing reproduce with: $ make oci-fed-image

#0 87.91   --- stderr
#0 87.91   thread 'main' panicked at 'Non floating-type complex? Type(_Complex _Float16, kind: Complex, cconv: 100, decl: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None), canon: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None)), Type(_Float16, kind: Float16, cconv: 100, decl: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None), canon: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None))', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.59.2/src/ir/context.rs:1992:26
#0 87.91   note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
#0 87.91 warning: build failed, waiting for other jobs to finish...
#0 88.31 error: failed to compile `fwd v0.1.0 (/cndp/lang/rs/examples/fwd)`, intermediate artifacts can be found at `/cndp/lang/rs/target`
------
Dockerfile:76
--------------------
  74 |     # 'fwd' binary will be installed in /cndp/usr/local/bin
  75 |     WORKDIR /cndp/lang/rs
  76 | >>> RUN CNDP_INSTALL_PATH="/cndp" cargo install --root /cndp/usr/local/ --path examples/fwd
  77 |     
  78 |     WORKDIR /cndp
--------------------
ERROR: failed to solve: process "/bin/sh -c CNDP_INSTALL_PATH=\"/cndp\" cargo install --root /cndp/usr/local/ --path examples/fwd" did not complete successfully: exit code: 101
make: *** [Makefile:118: oci-fed-image] Error 1
manojgop commented 1 year ago

I'm unable to reproduce this issue in my system. Below is the output (last few lines) of make oci-fed-image

  Installing /cndp/usr/local/bin/fwd
   Installed package `fwd v0.1.0 (/cndp/lang/rs/examples/fwd)` (executable `fwd`)
warning: be sure to add `/cndp/usr/local/bin` to your PATH to be able to run the installed binaries
Removing intermediate container ca8129f9f526
 ---> f5788273652c
Step 27/27 : WORKDIR /cndp
 ---> Running in f61fea8aad72
Removing intermediate container f61fea8aad72
 ---> 8c73ac7094f4
Successfully built 8c73ac7094f4
Successfully tagged cndp-fedora:latest
maryamtahhan commented 1 year ago

Hi @manojgop

The rust build is failing for the git workflow - which will block PRs being merged. Going to hijack this issue for this

The steps to reproduce:

setup an ubuntu docker container using the ubuntu:latest images

Follow the instructions to build cndp and the rust examples... the following error occurs:

   Compiling pnet_transport v0.30.0
   Compiling cndp-cne v0.2.0 (https://github.com/CloudNativeDataPlane/cndp?branch=main#5f0a0182)
   Compiling cndp-cne v0.2.0 (/cndp/lang/rs/apis/cne)
warning: unused return value of `CString::from_raw` that must be used
  --> apis/cne/src/util.rs:15:14
   |
15 |     unsafe { CString::from_raw(ptr) };
   |              ^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: call `drop(from_raw(ptr))` if you intend to drop the `CString`
   = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
   |
15 |     unsafe { let _ = CString::from_raw(ptr); };
   |              +++++++                       +

   Compiling fwd v0.1.0 (/cndp/lang/rs/examples/fwd)
   Compiling echo_server v0.1.0 (/cndp/lang/rs/examples/echo_server)
warning: `cndp-cne` (lib) generated 1 warning
   Compiling loopback v0.1.0 (/cndp/lang/rs/apis/cne/examples/loopback)
    Finished dev [unoptimized + debuginfo] target(s) in 36.08s
maryamtahhan commented 1 year ago

Also fails on fedora:latest but with a different error

    --- stderr
  thread 'main' panicked at 'Non floating-type complex? Type(_Complex _Float16, kind: Complex, cconv: 100, decl: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None), canon: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None)), Type(_Float16, kind: Float16, cconv: 100, decl: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None), canon: Cursor( kind: NoDeclFound, loc: builtin definitions, usr: None))', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bindgen-0.59.2/src/ir/context.rs:1992:26
  stack backtrace:
     0: rust_begin_unwind
               at /rustc/d5c2e9c342b358556da91d61ed4133f6f50fc0c3/library/std/src/panicking.rs:593:5
     1: core::panicking::panic_fmt
               at /rustc/d5c2e9c342b358556da91d61ed4133f6f50fc0c3/library/core/src/panicking.rs:67:14
     2: bindgen::ir::context::BindgenContext::build_builtin_ty
     3: bindgen::ir::context::BindgenContext::builtin_or_resolved_ty
     4: <bindgen::ir::item::Item as bindgen::parse::ClangItemParser>::from_ty_or_ref_with_id
     5: <bindgen::ir::item::Item as bindgen::parse::ClangItemParser>::from_ty_or_ref
     6: bindgen::ir::function::args_from_ty_and_cursor::{{closure}}
     7: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
     8: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next
     9: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
    10: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
    11: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
    12: core::iter::traits::iterator::Iterator::collect
    13: bindgen::ir::function::args_from_ty_and_cursor
    14: bindgen::ir::function::FunctionSig::from_ty
    15: bindgen::ir::ty::Type::from_clang_ty
    16: <bindgen::ir::item::Item as bindgen::parse::ClangItemParser>::from_ty_with_id
    17: <bindgen::ir::item::Item as bindgen::parse::ClangItemParser>::from_ty
    18: <bindgen::ir::item::Item as bindgen::parse::ClangItemParser>::parse
    19: bindgen::parse_one
    20: bindgen::parse::{{closure}}::{{closure}}
    21: bindgen::clang::visit_children
    22: <unknown>
    23: <unknown>
    24: <unknown>
    25: clang_visitChildren
    26: clang_sys::clang_visitChildren
    27: bindgen::clang::Cursor::visit
    28: bindgen::parse::{{closure}}
    29: bindgen::ir::context::BindgenContext::with_module
    30: bindgen::parse
    31: bindgen::Bindings::generate
    32: bindgen::Builder::generate
    33: build_script_build::main
    34: core::ops::function::FnOnce::call_once
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
maryamtahhan commented 11 months ago

It's also failing in our github workflow: https://github.com/CloudNativeDataPlane/cndp/actions/runs/6853611616/job/18634770398 <<<<< fixing this would be the priority