- RPCS3 still uses C++20 which no longer needs recent Clang/libc++
- FreeBSD releases more frequently, bringing newer Clang/libc++
- bundled libc++ wastes too much limited CI time
Linking different versions of libc++ can cause ABI issues but new C++
features are usually limited to headers.
ld: error: undefined symbol: operator new(unsigned long, std::align_val_t)
>>> referenced by string.cpp
>>> string.cpp.o:(void* std::__1::__libcpp_operator_new[abi:ne190107]<unsigned long, std::align_val_t>(unsigned long, std::align_val_t)) in archive /tmp/cirrus-ci-build/libcxx_prefix/lib/libc++.a
>>> referenced by memory_string_searcher.cpp
>>> memory_string_searcher.cpp.o:(memory_viewer_panel::OnSearch(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int)) in archive rpcs3/rpcs3qt/librpcs3_ui.a
>>> referenced by game_list_frame.cpp
>>> game_list_frame.cpp.o:(stx::auto_typemap<game_list_frame, 0u, 16u>::auto_typemap()) in archive rpcs3/rpcs3qt/librpcs3_ui.a
>>> referenced 23 more times
CMake Error at src/CMakeLists.txt:262 (add_custom_command):
Error evaluating generator expression:
$<TARGET_PROPERTY:libcxx-abi-shared,IMPORTED_LIBNAME>
Target "libcxx-abi-shared" not found.
CMake Error at libcxx_build/include/cmake_install.cmake:4117 (file):
file INSTALL cannot find "/tmp/cirrus-ci-build/libcxx_build/include/c++/v1/libcxx.imp": No
such file or directory.