cofibrant wrote:
I've managed to reproduce the stage 2 build failure locally but not yet
minimise it. Here are the steps:
1. Build `clang`
2. Configure bootstrapped reproducer with modules and MacOS X 15.2 SDK (as in
builder)
```sh
cmake -G Ninja -S llvm -B build-repro \
-DCMAKE_C_COMPILER=$PWD/build/bin/clang \
-DCMAKE_CXX_COMPILER=$PWD/build/bin/clang++ \
-DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk
\
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DLLVM_TARGETS_TO_BUILD=AArch64 \
-DLLVM_ENABLE_MODULES=ON
```
3. Build `llvm-min-tblgen`:
```sh
ninja -C build-repro llvm-min-tblgen
```
This fails with:
```
FAILED: [code=1] bin/llvm-min-tblgen
: && /Users/nathan/src/external/llvm-project/build/bin/clang++ -fPIC
-fvisibility-inlines-hidden -Werror=date-time
-Werror=unguarded-availability-new -fmodules
-fmodules-cache-path=/Users/nathan/src/external/llvm-project/build-repro/module.cache
-fcxx-modules -Xclang -fmodules-local-submodule-visibility -gmodules -Wall
-Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual
-Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi
-Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type
-Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override
-Wstring-conversion -Wno-pass-failed -Wmisleading-indentation
-Wctad-maybe-unsupported -fdiagnostics-color -O2 -g -DNDEBUG -arch arm64
-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk
-Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip
-Wl,-no_warn_duplicate_libraries
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/Attributes.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/DirectiveEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/IntrinsicEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RISCVTargetDefEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcallsEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/RuntimeLibcalls.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TableGen.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetFeaturesEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/TargetLibraryInfoEmitter.cpp.o
utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/VTEmitter.cpp.o
utils/TableGen/CMakeFiles/llvm-min-tblgen.dir/llvm-min-tblgen.cpp.o -o
bin/llvm-min-tblgen -Wl,-rpath,@loader_path/../lib lib/libLLVMSupport.a
lib/libLLVMTableGen.a -lm
/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk/usr/lib/libz.tbd
lib/libLLVMDemangle.a && :
Undefined symbols for architecture arm64:
"std::__1::enable_if<is_move_constructible<std::__1::__shared_weak_count*>::value
&& is_move_assignable<std::__1::__shared_weak_count*>::value, void>::type
std::__1::swap[abi:nn180100]<std::__1::__shared_weak_count*>(std::__1::__shared_weak_count*&,
std::__1::__shared_weak_count*&)", referenced from:
(anonymous namespace)::RealFileSystem::dir_begin(llvm::Twine const&,
std::__1::error_code&) in libLLVMSupport.a[143](VirtualFileSystem.cpp.o)
(anonymous namespace)::RealFileSystem::dir_begin(llvm::Twine const&,
std::__1::error_code&) in libLLVMSupport.a[143](VirtualFileSystem.cpp.o)
llvm::sys::fs::directory_iterator::directory_iterator(llvm::Twine const&,
std::__1::error_code&, bool) in libLLVMSupport.a[168](Path.cpp.o)
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
ninja: build stopped: subcommand failed.
```
after this commit, but succeeds otherwise.
https://github.com/llvm/llvm-project/pull/208285
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits