From a68447339fc730d6598cd36b4ad4f0fd002a60d0 Mon Sep 17 00:00:00 2001 From: bneradt Date: Thu, 23 Jul 2026 11:56:38 -0500 Subject: [PATCH] Fix Fedora OTEL and WAMR builds Fedora CI could silently omit the OTEL and WAMR plugins, while BoringSSL builds mixed system OpenSSL headers and libraries. This made the updated dependency image appear usable without proving either plugin could load. This makes the Fedora presets require both plugins and selects the matching curl and TLS roots for system OpenSSL and BoringSSL builds. This also distinguishes BoringSSL from OpenSSL 3 during configuration and gives the WASM targets explicit OpenSSL dependencies so both TLS variants build and load consistently. --- CMakeLists.txt | 5 ++++- CMakePresets.json | 12 ++++++++---- plugins/experimental/wasm/CMakeLists.txt | 2 +- plugins/experimental/wasm/lib/CMakeLists.txt | 1 + 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d28c3bd289c..ea333aa4dcf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -307,7 +307,10 @@ else() endif() check_openssl_is_quictls(SSLLIB_IS_QUICTLS "${OPENSSL_INCLUDE_DIR}") -if(OPENSSL_VERSION VERSION_GREATER_EQUAL "3.0.0") +if(NOT SSLLIB_IS_BORINGSSL + AND NOT SSLLIB_IS_AWSLC + AND OPENSSL_VERSION VERSION_GREATER_EQUAL "3.0.0" +) set(SSLLIB_IS_OPENSSL3 TRUE) add_compile_definitions(OPENSSL_API_COMPAT=10002 OPENSSL_IS_OPENSSL3) endif() diff --git a/CMakePresets.json b/CMakePresets.json index cec863644f3..bfa5cbb8de4 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -185,10 +185,12 @@ "inherits": ["ci"], "cacheVariables": { "ENABLE_PROBES": "ON", - "OPENSSL_ROOT_DIR": "/opt/openssl-quic", + "OPENSSL_ROOT_DIR": "/usr", "opentelemetry_ROOT": "/opt", - "CURL_ROOT": "/opt", + "CURL_ROOT": "/usr", "wamr_ROOT": "/opt", + "ENABLE_OTEL_TRACER": "ON", + "ENABLE_WASM_WAMR": "ON", "ENABLE_CRIPTS": "ON" } }, @@ -210,15 +212,17 @@ "OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", "quiche_ROOT": "/opt/h3-tools-boringssl/quiche", "opentelemetry_ROOT": "/opt", - "CURL_ROOT": "/opt", + "CURL_ROOT": "/opt/h3-tools-boringssl", "wamr_ROOT": "/opt", + "ENABLE_OTEL_TRACER": "ON", + "ENABLE_WASM_WAMR": "ON", "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", "ENABLE_QUICHE": "ON" } }, { "name": "ci-fedora-autest", - "displayName": "CI Fedora Quiche Autest", + "displayName": "CI Fedora Autest", "description": "CI Pipeline config for Fedora Linux (autest build)", "inherits": ["ci-fedora", "autest"] }, diff --git a/plugins/experimental/wasm/CMakeLists.txt b/plugins/experimental/wasm/CMakeLists.txt index 0cccbc2082c..c10011e5fb4 100644 --- a/plugins/experimental/wasm/CMakeLists.txt +++ b/plugins/experimental/wasm/CMakeLists.txt @@ -29,7 +29,7 @@ if(wasmedge_FOUND) list(APPEND WASM_RUNTIME wasmedge::wasmedge) endif() -target_link_libraries(wasm PRIVATE ${WASM_RUNTIME}) +target_link_libraries(wasm PRIVATE OpenSSL::SSL ${WASM_RUNTIME}) if(wamr_FOUND) target_compile_options(wasm PRIVATE -DWAMR) diff --git a/plugins/experimental/wasm/lib/CMakeLists.txt b/plugins/experimental/wasm/lib/CMakeLists.txt index f838461d7bf..1a07cd3a882 100644 --- a/plugins/experimental/wasm/lib/CMakeLists.txt +++ b/plugins/experimental/wasm/lib/CMakeLists.txt @@ -38,6 +38,7 @@ endif() add_library(wasmlib STATIC ${CC_FILES}) target_compile_options(wasmlib PUBLIC -Wno-unused-parameter) +target_link_libraries(wasmlib PRIVATE OpenSSL::Crypto) if(wamr_FOUND) target_compile_options(wasmlib PRIVATE -Wno-missing-field-initializers) target_link_libraries(wasmlib PUBLIC wamr::wamr)