Unbreak build on FreeBSD#16701
Merged
AniLeo merged 10 commits intoRPCS3:masterfrom Feb 13, 2025
jbeich:freebsd
Merged
Conversation
rpcs3/util/cpu_stats.cpp:390:4: error: use of undeclared identifier 'getpid'
390 | getpid(),
| ^
FreeBSD doesn't support /latest and /quarterly package repos on EOL versions. 13.3 reached EOL on 2024-12-31, so avoid CI breakage. Failed to start an instance: INVALID_ARGUMENT: Not Found 404 Not Found The resource 'projects/freebsd-org-cloud-dev/global/images/family/freebsd-13-3' was not found
CMake Error at modules/CMakeLists.txt:221 (file): file RELATIVE_PATH must be passed a full path to the directory: libcxx_prefix/lib
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.
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
RipleyTom
reviewed
Feb 13, 2025
| # libc++ isn't in llvm* packages, so download manually | ||
| fetch https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.7/llvm-project-19.1.7.src.tar.xz | ||
| tar xf llvm*.tar.xz | ||
| export CC=clang19 CXX=clang++19 |
Contributor
There was a problem hiding this comment.
Will it use clang without this?
Contributor
Author
There was a problem hiding this comment.
Yep. FreeBSD uses Clang/libc++ by default since 10.0, released on 2014-01-20.
13.4 ships Clang/libc++ 18 while upcoming FreeBSD 13.5 should have Clang/libc++ 19. Unless RPCS3 switches to C++23 before that it's unlikely to cause issues.
- 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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #16687