Bootstrap build with llvm/runtimes + clang + shared libc++ = build failure stage2 bins due to libc++.so not found

Reproducing the final solution thanks to @tobiashieta and https://github.com/jonhoo:

# Stage 1
cmake3 --build "$BUILD_DIR" --target clang-bootstrap-deps

# Stage 2 Prep
HOST_TARGET=$("$BUILD_DIR"/bin/llvm-config --host-target)
STAGE1_LIB="$BUILD_DIR/lib"
STAGE2_LIB="$BUILD_DIR/tools/clang/stage2-bins/lib"

#Stage 2
LDFLAGS="-L$STAGE2_LIB/$HOST_TARGET -L$STAGE2_LIB -L$STAGE1_LIB/$HOST_TARGET -L$STAGE1_LIB" \
LD_LIBRARY_PATH="$STAGE2_LIB/$HOST_TARGET:$STAGE2_LIB:$STAGE1_LIB/$HOST_TARGET:$STAGE1_LIB" \
cmake3 --build "$BUILD_DIR" --target stage2

This code also accounts for the need for fix to RUNPATH not regard LLVM_ENABLE_PER_TARGET_RUNTIME_DIR · Issue #54955 · llvm/llvm-project · GitHub

1 Like