Fil-blst requires libclang to build
hyunmoon opened this issue · 2 comments
hyunmoon commented
This is a new requirement so I think it should be documented somewhere.
How to fix
Ubuntu:
apt-get install -y libclang-dev
Compiling failure v0.1.8
error: failed to run custom build command for `fil-blst v0.1.1`
Caused by:
process didn't exit successfully: `/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-9bd86e5e45b0c01d/build-script-build` (exit code: 101)
--- stdout
Using fil-blst source directory "fil-blst"
Using blst source directory "blst"
TARGET = Some("x86_64-unknown-linux-gnu")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("avx,avx2,fxsr,sha,sse,sse2,sse3,sse4.1,sse4.2,ssse3")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("avx,avx2,fxsr,sha,sse,sse2,sse3,sse4.1,sse4.2,ssse3")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("avx,avx2,fxsr,sha,sse,sse2,sse3,sse4.1,sse4.2,ssse3")
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-Wall" "-Wextra" "-mno-avx" "-Wno-unused-command-line-argument" "-D__ADX__" "-o" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/blst/src/server.o" "-c" "blst/src/server.c"
exit code: 0
running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-Wall" "-Wextra" "-mno-avx" "-Wno-unused-command-line-argument" "-D__ADX__" "-o" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/blst/build/assembly.o" "-c" "blst/build/assembly.S"
exit code: 0
AR_x86_64-unknown-linux-gnu = None
AR_x86_64_unknown_linux_gnu = None
HOST_AR = None
AR = None
running: "ar" "crs" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/libblst.a" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/blst/src/server.o" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/blst/build/assembly.o"
exit code: 0
cargo:rustc-link-lib=static=blst
cargo:rustc-link-search=native=/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out
TARGET = Some("x86_64-unknown-linux-gnu")
HOST = Some("x86_64-unknown-linux-gnu")
CXX_x86_64-unknown-linux-gnu = None
CXX_x86_64_unknown_linux_gnu = None
HOST_CXX = None
CXX = None
CXXFLAGS_x86_64-unknown-linux-gnu = None
CXXFLAGS_x86_64_unknown_linux_gnu = None
HOST_CXXFLAGS = None
CXXFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("avx,avx2,fxsr,sha,sse,sse2,sse3,sse4.1,sse4.2,ssse3")
CXX_x86_64-unknown-linux-gnu = None
CXX_x86_64_unknown_linux_gnu = None
HOST_CXX = None
CXX = None
CXXFLAGS_x86_64-unknown-linux-gnu = None
CXXFLAGS_x86_64_unknown_linux_gnu = None
HOST_CXXFLAGS = None
CXXFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("avx,avx2,fxsr,sha,sse,sse2,sse3,sse4.1,sse4.2,ssse3")
CXX_x86_64-unknown-linux-gnu = None
CXX_x86_64_unknown_linux_gnu = None
HOST_CXX = None
CXX = None
CXXFLAGS_x86_64-unknown-linux-gnu = None
CXXFLAGS_x86_64_unknown_linux_gnu = None
HOST_CXXFLAGS = None
CXXFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("avx,avx2,fxsr,sha,sse,sse2,sse3,sse4.1,sse4.2,ssse3")
running: "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "blst/bindings" "-Wall" "-Wextra" "-mno-avx" "-std=gnu++11" "-D__ADX__" "-o" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/fil-blst/fil_blst.o" "-c" "fil-blst/fil_blst.cpp"
exit code: 0
running: "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "blst/bindings" "-Wall" "-Wextra" "-mno-avx" "-std=gnu++11" "-D__ADX__" "-o" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/fil-blst/thread_pool.o" "-c" "fil-blst/thread_pool.cpp"
exit code: 0
AR_x86_64-unknown-linux-gnu = None
AR_x86_64_unknown_linux_gnu = None
HOST_AR = None
AR = None
running: "ar" "crs" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/libfilblst.a" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/fil-blst/fil_blst.o" "/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out/fil-blst/thread_pool.o"
exit code: 0
cargo:rustc-link-lib=static=filblst
cargo:rustc-link-search=native=/home/downloads/lotus/extern/filecoin-ffi/rust/target/release/build/fil-blst-910e419bf55388a4/out
CXXSTDLIB_x86_64-unknown-linux-gnu = None
CXXSTDLIB_x86_64_unknown_linux_gnu = None
HOST_CXXSTDLIB = None
CXXSTDLIB = None
cargo:rustc-link-lib=stdc++
cargo:warning=couldn't execute `llvm-config --prefix` (error: No such file or directory (os error 2))
cargo:warning=set the LLVM_CONFIG_PATH environment variable to the full path to a valid `llvm-config` executable (including the executable itself)
--- stderr
thread 'main' panicked at '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: [])"', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.54.0/src/lib.rs:1959:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
+ rm -f /home/tmp/tmp.hD9Cnz7578
make[1]: *** [Makefile:11: .install-filcrypto] Error 101
make[1]: Leaving directory '/home/downloads/lotus/extern/filecoin-ffi'
make: *** [Makefile:37: build/.filecoin-install] Error 2
vmx commented
From a side channel:
One option if you don't want this extra dep would be to check in
bindgen.rs
and not call bindgen inbuild.rs
I'd prefer if we just keep that dep.
jennijuju commented
thanks for the ticket!