diff --git a/bazel/io_opentelemetry_cpp.patch b/bazel/io_opentelemetry_cpp.patch new file mode 100644 index 0000000000000..7056eb4ca368a --- /dev/null +++ b/bazel/io_opentelemetry_cpp.patch @@ -0,0 +1,97 @@ +From b0825190258f28a7e72b62dfc00835cc277a059e Mon Sep 17 00:00:00 2001 +From: Rohit Agrawal +Date: Fri, 25 Apr 2025 19:03:41 -0700 +Subject: [PATCH] Fixes glibc++ 5 Checks + +--- + api/include/opentelemetry/config.h | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/api/include/opentelemetry/config.h b/api/include/opentelemetry/config.h +index 21a2947e28..c41f2e7ef8 100644 +--- a/api/include/opentelemetry/config.h ++++ b/api/include/opentelemetry/config.h +@@ -3,12 +3,9 @@ + + #pragma once + +-#ifndef __has_include +-# define OPENTELEMETRY_HAS_INCLUDE(x) 0 +-#else +-# define OPENTELEMETRY_HAS_INCLUDE(x) __has_include(x) +-#endif ++#include // IWYU pragma: keep + +-#if !defined(__GLIBCXX__) || OPENTELEMETRY_HAS_INCLUDE() // >= libstdc++-5 ++#if !defined(__GLIBCXX__) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7) || \ ++ (defined(__GLIBCXX__) && __GLIBCXX__ >= 20150422) // >= libstdc++-5 + # define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS + #endif + +From 2e07c15ccb5f888fcdb42a1a60e22551e46c708c Mon Sep 17 00:00:00 2001 +From: owent +Date: Sun, 27 Apr 2025 17:29:17 +0800 +Subject: [PATCH 2/2] Always checking `OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS` + when `OPENTELEMETRY_STL_VERSION` is defined + +--- + api/include/opentelemetry/config.h | 11 ----------- + api/include/opentelemetry/nostd/type_traits.h | 9 +++++++-- + sdk/include/opentelemetry/sdk_config.h | 1 - + 3 files changed, 7 insertions(+), 14 deletions(-) + delete mode 100644 api/include/opentelemetry/config.h + +diff --git a/api/include/opentelemetry/config.h b/api/include/opentelemetry/config.h +deleted file mode 100644 +index c41f2e7ef8..0000000000 +--- a/api/include/opentelemetry/config.h ++++ /dev/null +@@ -1,11 +0,0 @@ +-// Copyright The OpenTelemetry Authors +-// SPDX-License-Identifier: Apache-2.0 +- +-#pragma once +- +-#include // IWYU pragma: keep +- +-#if !defined(__GLIBCXX__) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7) || \ +- (defined(__GLIBCXX__) && __GLIBCXX__ >= 20150422) // >= libstdc++-5 +-# define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS +-#endif +diff --git a/api/include/opentelemetry/nostd/type_traits.h b/api/include/opentelemetry/nostd/type_traits.h +index 3a64b5db1a..a797c1ea07 100644 +--- a/api/include/opentelemetry/nostd/type_traits.h ++++ b/api/include/opentelemetry/nostd/type_traits.h +@@ -10,15 +10,20 @@ + # endif + #endif + ++#include ++ + #if !defined(OPENTELEMETRY_HAVE_STD_TYPE_TRAITS) + # include +-# include + +-# include "opentelemetry/config.h" + # include "opentelemetry/nostd/detail/void.h" // IWYU pragma: export + # include "opentelemetry/version.h" + #endif + ++#if !defined(__GLIBCXX__) || (defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 7) || \ ++ (defined(__GLIBCXX__) && __GLIBCXX__ >= 20150422) // >= libstdc++-5 ++# define OPENTELEMETRY_TRIVIALITY_TYPE_TRAITS ++#endif ++ + OPENTELEMETRY_BEGIN_NAMESPACE + namespace nostd + { +diff --git a/sdk/include/opentelemetry/sdk_config.h b/sdk/include/opentelemetry/sdk_config.h +index 280ccaa993..afe78f1d80 100644 +--- a/sdk/include/opentelemetry/sdk_config.h ++++ b/sdk/include/opentelemetry/sdk_config.h +@@ -3,5 +3,4 @@ + + #pragma once + +-#include "opentelemetry/config.h" + #include "opentelemetry/sdk/common/global_log_handler.h" \ No newline at end of file diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index 570261d295904..47a59a6d25e57 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -535,7 +535,11 @@ def _io_vectorscan(): ) def _io_opentelemetry_api_cpp(): - external_http_archive(name = "io_opentelemetry_cpp") + external_http_archive( + name = "io_opentelemetry_cpp", + patches = ["@envoy//bazel:io_opentelemetry_cpp.patch"], + patch_args = ["-p1"], + ) def _com_github_datadog_dd_trace_cpp(): external_http_archive("com_github_datadog_dd_trace_cpp") diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl index 727e21389e981..3faae16f81f9e 100644 --- a/bazel/repository_locations.bzl +++ b/bazel/repository_locations.bzl @@ -585,8 +585,8 @@ REPOSITORY_LOCATIONS_SPEC = dict( project_name = "OpenTelemetry", project_desc = "Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs.", project_url = "https://opentelemetry.io", - version = "1.19.0", - sha256 = "e0330194b72f2fe4c0ce3ece06b02dc4aa0ab491eb75bf42c6f5e283912e468c", + version = "1.20.0", + sha256 = "4b6eeb852f075133c21b95948017f13a3e21740e55b921d27e42970a47314297", strip_prefix = "opentelemetry-cpp-{version}", urls = ["https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v{version}.tar.gz"], use_category = ["observability_ext"], @@ -596,7 +596,7 @@ REPOSITORY_LOCATIONS_SPEC = dict( "envoy.tracers.opentelemetry.samplers.dynatrace", "envoy.tracers.opentelemetry.samplers.cel", ], - release_date = "2025-01-22", + release_date = "2025-04-01", cpe = "N/A", license = "Apache-2.0", license_url = "https://github.com/open-telemetry/opentelemetry-cpp/blob/v{version}/LICENSE",