Skip to content

Conversation

@es1024
Copy link
Contributor

@es1024 es1024 commented Jan 31, 2025

This PR removes clang 18 builds and adds clang 19 builds.

A few changes were needed:

  • Remove workaround for clang 18+ that builds libunwind with llvm_libcxx.

    This workaround does not apply our fixes to libunwind when building and attempts to build it for ASAN/TSAN as well, which breaks. In any case, we build and use (uninstrumented) libunwind separately. Instead, LIBCXXABI_USE_LLVM_UNWINDER=OFF is set to avoid the error that the workaround attempted to avoid. This (OFF) is the default value for LLVM 17 and lower, but ON became the default for LLVM 18+.

  • -lclang_rt.builtins was added for TSAN builds, to avoid non-exported symbol '__gcc_personality_v0' errors.

    We use -nostdlib when building shared libraries in our build. But Clang adds a dependency onto __gcc_personality_v0 from libclang_rt.builtins.a. This causes the resulting shared libraries being generated with a weak undefined reference to __gcc_personality_v0 and results in problems when attempting to link a binary against these shared libraries because __gcc_personality_v0 has hidden visibility.

  • Rebuild Intel oneAPI with clang 19. Using the old builds (from clang 17) with DiskANN built with clang19 results in missing symbol errors for ___kmpc_dispatch_deinit.

  • Bump cassandra-cpp-driver to 2.9.0-yb-15 to fix compile error from rapidjson thirdparty dependency.

  • Bump rapidjson to v1.1.0-yb-3 to fix compile error.

  • Ignore deprecated-ofast warning building DiskANN, which is only a warning on Almalinux 8 but errors on Ubuntu builds.

  • Build scripts were updated to allow for llvm19 builds.

Ubuntu 20.04 builds were also removed, as it is about to go EOL.

@es1024 es1024 changed the title [WIP] Add Clang 19 support + remove clang 18 Add Clang 19 support + remove clang 18 Feb 4, 2025
@es1024 es1024 merged commit 1da22f3 into yugabyte:master Feb 4, 2025
23 checks passed
@es1024 es1024 deleted the clang19 branch February 4, 2025 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants