diff --git a/ddtrace/internal/datadog/profiling/stack_v2/CMakeLists.txt b/ddtrace/internal/datadog/profiling/stack_v2/CMakeLists.txt index 19f3955dab0..02058e59feb 100644 --- a/ddtrace/internal/datadog/profiling/stack_v2/CMakeLists.txt +++ b/ddtrace/internal/datadog/profiling/stack_v2/CMakeLists.txt @@ -37,7 +37,7 @@ endif() # Add echion set(ECHION_COMMIT - "9d5bcc5867d7aefff73c837adcba4ef46eecebc6" + "ed744987f224fae3f93c842b2b5ffb083984ff8b" CACHE STRING "Commit hash of echion to use") FetchContent_Declare( echion diff --git a/releasenotes/notes/fix-profiler-int-ptr-conversion-4377fbd8724eeaec.yaml b/releasenotes/notes/fix-profiler-int-ptr-conversion-4377fbd8724eeaec.yaml new file mode 100644 index 00000000000..cadb50628fa --- /dev/null +++ b/releasenotes/notes/fix-profiler-int-ptr-conversion-4377fbd8724eeaec.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Updates setup.py to ignore int-ptr conversion warnings for the profiler stack.pyx file. + This is important because gcc 14 makes these conversions an error, alpine 3.21.0 ships with gcc 14, + and any patch version of a Python alpine image cut after December 5th, 2024, will have this issue. diff --git a/setup.py b/setup.py index ce1aa685596..af30b20df31 100644 --- a/setup.py +++ b/setup.py @@ -610,7 +610,11 @@ def get_exts_for(name): "ddtrace.profiling.collector.stack", sources=["ddtrace/profiling/collector/stack.pyx"], language="c", - extra_compile_args=extra_compile_args, + # cython generated code errors on build in toolchains that are strict about int->ptr conversion + # OTOH, the MSVC toolchain is different. In a perfect world we'd deduce the underlying toolchain and + # emit the right flags, but as a compromise we assume Windows implies MSVC and everything else is on a + # GNU-like toolchain + extra_compile_args=extra_compile_args + (["-Wno-int-conversion"] if CURRENT_OS != "Windows" else []), ), Cython.Distutils.Extension( "ddtrace.profiling.collector._traceback",