Bolt
Bolt copied to clipboard
Cannot run a basic build
I am having trouble with running some basic build. I follow the steps descried in the CONTRIBUTING.md. Basically I execute the following script:
#!/usr/bin/env bash
git clone https://github.com/boltlang/bolt
git clone https://github.com/samvv/zen bolt/deps/zen
git clone https://github.com/fmtlib/fmt bolt/deps/fmt # this should be added in the CONTRIBUTING.mg?
cd bolt/
cmake \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-G Ninja \
-B build \
-DBOLT_ENABLE_TESTS=1 \
-DZEN_ENABLE_TESTS=0 \
-DLLVM_TARGETS_TO_BUILD=host \
-DLLVM_OPTIMIZED_TABLEGEN=ON
and I get an error:
CMake Error at deps/zen/CMakeLists.txt:43 (add_library):
Cannot find source file:
src/fs_io.cc
CMake Error at deps/zen/CMakeLists.txt:43 (add_library):
No SOURCES given to target: zen
I guess this could be resolved by removing this line: https://github.com/samvv/Zen/blob/7571cc2310541b19408de2bf05da47c80427dfab/CMakeLists.txt#L37
But then, when I execute
ninja -C build bolt
I get
ninja: Entering directory `build'
[1/1] Linking CXX executable bolt
FAILED: bolt
: && /usr/bin/clang++ -g CMakeFiles/bolt.dir/src/main.cc.o -o bolt -L/usr/lib/llvm-19/lib -Wl,-rpath,/usr/lib/llvm-19/lib libBoltCore.a libBoltLLVM.a deps/fmt/libfmtd.a libBoltCore.a deps/zen/libzen.a -licuuc /usr/lib/llvm-19/lib/libLLVMX86CodeGen.a /usr/lib/llvm-19/lib/libLLVMAsmPrinter.a /usr/lib/llvm-19/lib/libLLVMCFGuard.a /usr/lib/llvm-19/lib/libLLVMGlobalISel.a /usr/lib/llvm-19/lib/libLLVMIRPrinter.a /usr/lib/llvm-19/lib/libLLVMInstrumentation.a /usr/lib/llvm-19/lib/libLLVMSelectionDAG.a /usr/lib/llvm-19/lib/libLLVMCodeGen.a /usr/lib/llvm-19/lib/libLLVMScalarOpts.a /usr/lib/llvm-19/lib/libLLVMAggressiveInstCombine.a /usr/lib/llvm-19/lib/libLLVMInstCombine.a /usr/lib/llvm-19/lib/libLLVMBitWriter.a /usr/lib/llvm-19/lib/libLLVMObjCARCOpts.a /usr/lib/llvm-19/lib/libLLVMTarget.a /usr/lib/llvm-19/lib/libLLVMTransformUtils.a /usr/lib/llvm-19/lib/libLLVMAnalysis.a /usr/lib/llvm-19/lib/libLLVMProfileData.a /usr/lib/llvm-19/lib/libLLVMSymbolize.a /usr/lib/llvm-19/lib/libLLVMDebugInfoDWARF.a /usr/lib/llvm-19/lib/libLLVMDebugInfoPDB.a /usr/lib/llvm-19/lib/libLLVMDebugInfoMSF.a /usr/lib/llvm-19/lib/libLLVMDebugInfoBTF.a /usr/lib/llvm-19/lib/libLLVMObject.a /usr/lib/llvm-19/lib/libLLVMIRReader.a /usr/lib/llvm-19/lib/libLLVMBitReader.a /usr/lib/llvm-19/lib/libLLVMAsmParser.a /usr/lib/llvm-19/lib/libLLVMCore.a /usr/lib/llvm-19/lib/libLLVMRemarks.a /usr/lib/llvm-19/lib/libLLVMBitstreamReader.a /usr/lib/llvm-19/lib/libLLVMTextAPI.a /usr/lib/llvm-19/lib/libLLVMX86AsmParser.a /usr/lib/llvm-19/lib/libLLVMMCParser.a /usr/lib/llvm-19/lib/libLLVMX86Desc.a /usr/lib/llvm-19/lib/libLLVMCodeGenTypes.a /usr/lib/llvm-19/lib/libLLVMX86Disassembler.a /usr/lib/llvm-19/lib/libLLVMMCDisassembler.a /usr/lib/llvm-19/lib/libLLVMX86Info.a /usr/lib/llvm-19/lib/libLLVMMC.a /usr/lib/llvm-19/lib/libLLVMBinaryFormat.a /usr/lib/llvm-19/lib/libLLVMTargetParser.a /usr/lib/llvm-19/lib/libLLVMDebugInfoCodeView.a /usr/lib/llvm-19/lib/libLLVMSupport.a -lrt -ldl -lm /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libzstd.so /usr/lib/llvm-19/lib/libLLVMDemangle.a && :
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x23
CMakeFiles/bolt.dir/src/main.cc.o: in function `main':
main.cc:(.text+0xac0): undefined reference to `zen::fs::read_file(std::filesystem::__cxx11::path const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
I see 3 problems:
- the fmt is needed and it should be mentioned in
CONTRIBUTING.md, - there is some build problem with zen,
- there is another problem with bolt.
On it, will come back at you tomorrow.
Correction: I probably won't have time tomorrow. Saturday will work.
I've worked on it but couldn't finish it in time today. Will continue working on it the next few days.