Build completed unsuccessfully

python /home/first/src/rust/2/rustc-1.47.0-src/x.py build &>b.txt

b.txt :

Finished dev [unoptimized + debuginfo] target(s) in 0.20s

Building stage0 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu) Finished release [optimized] target(s) in 0.19s Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu) Building LLVM for x86_64-unknown-linux-gnu running: "cmake" "/home/first/src/rust/2/rustc-1.47.0-src/src/llvm-project/llvm" "-DLLVM_ENABLE_ASSERTIONS=OFF" "-DLLVM_TARGETS_TO_BUILD=AArch64;ARM;Hexagon;MSP430;Mips;NVPTX;PowerPC;RISCV;Sparc;SystemZ;WebAssembly;X86" "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR" "-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_INCLUDE_DOCS=OFF" "-DLLVM_INCLUDE_BENCHMARKS=OFF" "-DWITH_POLLY=OFF" "-DLLVM_ENABLE_TERMINFO=OFF" "-DLLVM_ENABLE_LIBEDIT=OFF" "-DLLVM_ENABLE_BINDINGS=OFF" "-DLLVM_ENABLE_Z3_SOLVER=OFF" "-DLLVM_PARALLEL_COMPILE_JOBS=2" "-DLLVM_TARGET_ARCH=x86_64" "-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-linux-gnu" "-DLLVM_ENABLE_ZLIB=ON" "-DLLVM_LINK_LLVM_DYLIB=ON" "-DLLVM_ENABLE_LIBXML2=OFF" "-DLLVM_VERSION_SUFFIX=-rust-dev" "-DPYTHON_EXECUTABLE=/usr/bin/python" "-DCMAKE_INSTALL_MESSAGE=LAZY" "-DCMAKE_C_COMPILER=cc" "-DCMAKE_CXX_COMPILER=c++" "-DCMAKE_ASM_COMPILER=cc" "-DCMAKE_C_FLAGS=-ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_FLAGS=-ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_INSTALL_PREFIX=/home/first/src/rust/2/rustc-1.47.0-src/build/x86_64-unknown-linux-gnu/llvm" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_BUILD_TYPE=Release" CMake Warning at CMakeLists.txt:6 (message): Your CMake version is 3.12.2. Starting with LLVM 12.0.0, the minimum version of CMake required to build LLVM will become 3.13.4, and using an older CMake will become an error. Please upgrade your CMake to at least 3.13.4 now to avoid issues in the future!

-- Native target architecture is X86 -- Threads enabled. -- Doxygen disabled. -- Go bindings disabled. -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) -- OCaml bindings disabled. -- LLVM host triple: x86_64-unknown-linux-gnu -- LLVM default target triple: x86_64-unknown-linux-gnu CMake Warning at cmake/modules/HandleLLVMOptions.cmake:32 (message): Job pooling is only available with Ninja generators. Call Stack (most recent call first): CMakeLists.txt:680 (include)

-- Building with -fPIC -- Constructing LLVMBuild project information -- Targeting AArch64 -- Targeting ARM -- Targeting Hexagon -- Targeting MSP430 -- Targeting Mips -- Targeting NVPTX -- Targeting PowerPC -- Targeting RISCV -- Targeting Sparc -- Targeting SystemZ -- Targeting WebAssembly -- Targeting X86 -- Targeting AVR Traceback (most recent call last): File "", line 22, in IndexError: list index out of range -- Configuring done -- Generating done -- Build files have been written to: /home/first/src/rust/2/rustc-1.47.0-src/build/x86_64-unknown-linux-gnu/llvm/build running: "cmake" "--build" "." "--target" "install" "--config" "Release" "--" "-j" "2" [ 0%] Built target LLVMDemangle [ 0%] Generating VCSRevision.h, __FakeVCSRevision.h [ 0%] Built target llvm_vcsrevision_h [ 1%] Built target LLVMHello_exports [ 3%] Built target obj.llvm-tblgen [ 4%] Built target llvm-PerfectShuffle [ 4%] Built target count [ 4%] Built target LTO_exports [ 4%] Built target BugpointPasses_exports [ 4%] Built target Remarks_exports [ 9%] Built target LLVMSupport [ 10%] Built target LLVMBitstreamReader [ 10%] Built target LLVMTableGen [ 10%] Built target LLVMDebugInfoMSF [ 10%] Built target LLVMBinaryFormat [ 10%] Built target LLVMExtensions [ 10%] Built target LLVMWindowsManifest [ 10%] Built target LLVMOption [ 10%] Built target LLVMOrcError [ 10%] Built target LLVMLineEditor [ 10%] Built target FileCheck [ 10%] Built target not [ 10%] Built target yaml-bench [ 10%] Built target LLVMTableGenGlobalISel [ 11%] Built target LLVMRemarks [ 11%] Built target LLVMTextAPI [ 11%] Built target llvm-tblgen [ 11%] Building Attributes.inc... [ 13%] Built target LLVMDebugInfoCodeView ../../../bin/llvm-tblgen: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by ../../../bin/llvm-tblgen) [ 13%] Building InstCombineTables.inc... ../../../bin/llvm-tblgen: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by ../../../bin/llvm-tblgen) make[2]: *** [lib/Transforms/InstCombine/CMakeFiles/InstCombineTableGen.dir/build.make:100: lib/Transforms/InstCombine/InstCombineTables.inc] Ошибка 1 make[1]: *** [CMakeFiles/Makefile2:4682: lib/Transforms/InstCombine/CMakeFiles/InstCombineTableGen.dir/all] Ошибка 2 make[1]: *** Ожидание завершения заданий… make[2]: *** [include/llvm/IR/CMakeFiles/intrinsics_gen.dir/build.make:131: include/llvm/IR/Attributes.inc] Ошибка 1 make[2]: *** Ожидание завершения заданий… [ 13%] Building IntrinsicImpl.inc... ../../../bin/llvm-tblgen: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ../../../bin/llvm-tblgen) make[2]: *** [include/llvm/IR/CMakeFiles/intrinsics_gen.dir/build.make:189: include/llvm/IR/IntrinsicImpl.inc] Ошибка 1 make[1]: *** [CMakeFiles/Makefile2:1479: include/llvm/IR/CMakeFiles/intrinsics_gen.dir/all] Ошибка 2 make: *** [Makefile:152: all] Ошибка 2 thread 'main' panicked at ' command did not execute successfully, got: exit code: 2

build script failed, must exit now', /home/first/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.44/src/lib.rs:885:5 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace finished in 12.817 failed to run: /home/first/src/rust/2/rustc-1.47.0-src/build/bootstrap/debug/bootstrap build Build completed unsuccessfully in 0:00:13

This is the actual error:

../../../bin/llvm-tblgen: /usr/lib/x86_64-linux-gnu/libstdc++.so.6:
    version GLIBCXX_3.4.26 not found (required by ../../../bin/llvm-tblgen)

I have never tripped over this particular error myself, but I can think oftwo plausible explanations for it:

  1. somewhere in the Rust source tree is an object file compiled by a C++ compiler that doesn't match the one on your computer
  2. your C++ compiler's header files are out of sync with its runtime library (possibly because you installed a newer C++ compiler by hand, instead of updating it through your OS's package manager)

(1) is easier to investigate: I would suggest wiping out and re-downloading the Rust source tree from scratch, and then doing something along the lines of

find /home/first/src/rust/2/rustc-1.47.0-src \
    \( -name '*.o' -o -name '*.a' -o -name '*.la' -o -name '*.so' \) \
    -exec sh -c 'for o; do mv "$o" "$o.not"; done' {} +

and then trying to build again. If that still doesn't work, then you need to consider the possibility of (2). We'd need to know which Linux distribution you're using to help with that.

1 Like