You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The environment variable passed to the downstream cmake library are not enough to build the library correctly.
Also I noticed that the -fuse-ld=lld was missing.
Even if I add it manually the compilation keeps failing for some reason.
I am just adding this dependency to the example-helloworld program to trigger this issue
this is the result of running npm run build:program-rust
> helloworld@0.0.1 build:program-rust /home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld
> cargo build-bpf --manifest-path=./src/program-rust/Cargo.toml --bpf-out-dir=dist/program
BPF SDK: /home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf
cargo-build-bpf child: rustup toolchain list -v
cargo-build-bpf child: cargo +bpf build --target bpfel-unknown-unknown --release
Error: Function _ZN6robust13incircleadapt17hcd08b205f8290514E Stack offset of 24392 exceeded max offset of 4096 by 20296 bytes, please minimize large stack variables
Compiling as-slice v0.1.5
Compiling digest v0.9.0
Compiling block-buffer v0.9.0
Compiling proc-macro-crate v0.1.5
Compiling h3ron-h3-sys v0.12.0 (https://github.com/nmandery/h3ron.git#ab3a27f3)
Compiling sha2 v0.9.5
Compiling sha3 v0.9.1
error: failed to run custom build command for `h3ron-h3-sys v0.12.0 (https://github.com/nmandery/h3ron.git#ab3a27f3)`
Caused by:
process didn't exit successfully: `/home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/release/build/h3ron-h3-sys-1ab6cd26d7e5abe9/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-changed=libh3
CMAKE_TOOLCHAIN_FILE_bpfel-unknown-unknown = None
CMAKE_TOOLCHAIN_FILE_bpfel_unknown_unknown = None
TARGET_CMAKE_TOOLCHAIN_FILE = None
CMAKE_TOOLCHAIN_FILE = None
CMAKE_GENERATOR_bpfel-unknown-unknown = None
CMAKE_GENERATOR_bpfel_unknown_unknown = None
TARGET_CMAKE_GENERATOR = None
CMAKE_GENERATOR = None
CMAKE_PREFIX_PATH_bpfel-unknown-unknown = None
CMAKE_PREFIX_PATH_bpfel_unknown_unknown = None
TARGET_CMAKE_PREFIX_PATH = None
CMAKE_PREFIX_PATH = None
CMAKE_bpfel-unknown-unknown = None
CMAKE_bpfel_unknown_unknown = None
TARGET_CMAKE = None
CMAKE = None
running: "cmake" "/home/pc/.cargo/git/checkouts/h3ron-31217b227e8cd3a6/ab3a27f/h3ron-h3-sys/libh3" "-DBUILD_BENCHMARKS=OFF" "-DBUILD_FILTERS=OFF" "-DBUILD_GENERATORS=OFF" "-DBUILD_TESTING=OFF" "-DENABLE_COVERAGE=OFF" "-DENABLE_DOCS=OFF" "-DENABLE_FORMAT=OFF" "-DENABLE_LINTING=OFF" "-DCMAKE_INSTALL_PREFIX=/home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC --target=bpfel-unknown-unknown" "-DCMAKE_C_COMPILER=/home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC --target=bpfel-unknown-unknown" "-DCMAKE_ASM_COMPILER=/home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang" "-DCMAKE_BUILD_TYPE=Release"
-- The C compiler identification is Clang 13.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang
-- Check for working C compiler: /home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang - broken
-- Configuring incomplete, errors occurred!
See also "/home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out/build/CMakeFiles/CMakeOutput.log".
See also "/home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out/build/CMakeFiles/CMakeError.log".
--- stderr
CMake Error at /usr/local/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake:69 (message):
The C compiler
"/home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make -f Makefile cmTC_b71ce/fast && /usr/bin/make -f CMakeFiles/cmTC_b71ce.dir/build.make CMakeFiles/cmTC_b71ce.dir/build
make[1]: Entering directory '/home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o
/home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang -ffunction-sections -fdata-sections -fPIC --target=bpfel-unknown-unknown -std=gnu99 -MD -MT CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o -c /home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_b71ce
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b71ce.dir/link.txt --verbose=1
/home/pc/.local/share/solana/install/releases/1.9.4/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/clang -ffunction-sections -fdata-sections -fPIC --target=bpfel-unknown-unknown -rdynamic CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o -o cmTC_b71ce
/usr/bin/ld: unknown architecture of input file `CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o' is incompatible with i386:x86-64 output
collect2: error: ld returned 1 exit status
clang-13: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)
make[1]: *** [CMakeFiles/cmTC_b71ce.dir/build.make:100: cmTC_b71ce] Error 1
make[1]: Leaving directory '/home/pc/Documents/funspace/crypto-world/lab/solanaworkspace/example-helloworld/src/program-rust/target/bpfel-unknown-unknown/release/build/h3ron-h3-sys-df478ba73015eab9/out/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:127: cmTC_b71ce/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:59 (project)
thread 'main' panicked at '
command did not execute successfully, got: exit status: 1
build script failed, must exit now', /home/pc/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.46/src/lib.rs:974:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
I think the important bit is /usr/bin/ld: unknown architecture of input file CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o' is incompatible with i386:x86-64 output
We see here that the /usr/bin/ld is being used.
Instead I tried to copy-paste the cmake command and try to run it myself on the c source code of the h3ron library.
adding -v -fuse-ld=lld
Problem
The environment variable passed to the downstream cmake library are not enough to build the library correctly.
Also I noticed that the
-fuse-ld=lld
was missing.Even if I add it manually the compilation keeps failing for some reason.
I am just adding this dependency to the example-helloworld program to trigger this issue
this is the result of running
npm run build:program-rust
I think the important bit is
/usr/bin/ld: unknown architecture of input file CMakeFiles/cmTC_b71ce.dir/testCCompiler.c.o' is incompatible with i386:x86-64 output
We see here that the /usr/bin/ld is being used.
Instead I tried to copy-paste the cmake command and try to run it myself on the c source code of the h3ron library.
adding
-v -fuse-ld=lld
but getting a slightly different error with
using the solana lld is now returning:
ld.lld: error: CMakeFiles/cmTC_1ce4d.dir/testCCompiler.c.o is incompatible with elf64-x86-64
Proposed Solution
I don't know I am really trying to figure it out.
We have been digging into it on this issue here: nmandery/h3ron#30
The text was updated successfully, but these errors were encountered: