open-telemetry / opentelemetry-cpp

The OpenTelemetry C++ Client
https://opentelemetry.io/
Apache License 2.0
850 stars 403 forks source link

main does not compile on debian stable #2634

Closed t-b closed 5 months ago

t-b commented 5 months ago

Environment

$cat /etc/debian_version 
12.5

$g++ --version
g++ (Debian 12.2.0-14) 12.2.0

Steps to reproduce Version: cd22f0f8 ([PROTO] Upgrade to opentelemetry-proto 1.2.0 (#2631), 2024-04-09)

Executing

cmake -B build -S . -DWITH_OTLP_GRPC=ON -DWITH_OTLP_HTTP=ON -DWITH_ABSEIL=ON -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DCMAKE_CXX_STANDARD=17

gives

[ 75%] Built target batch_span_processor_example
/home/firma/devel/opentelemetry-cpp/exporters/otlp/src/otlp_recordable.cc: In member function ‘virtual void opentelemetry::v1::exporter::otlp::OtlpRecordable::SetTraceFlags(opentelemetry::v1::trace::TraceFlags)’:
/home/firma/devel/opentelemetry-cpp/exporters/otlp/src/otlp_recordable.cc:145:73: error: ‘SPAN_FLAGS_TRACE_FLAGS_MASK’ is not a member of ‘opentelemetry::proto::trace::v1’
  145 |   uint32_t all_flags = flags.flags() & opentelemetry::proto::trace::v1::SPAN_FLAGS_TRACE_FLAGS_MASK;
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/firma/devel/opentelemetry-cpp/exporters/otlp/src/otlp_recordable.cc:147:9: error: ‘class opentelemetry::proto::trace::v1::Span’ has no member named ‘set_flags’
  147 |   span_.set_flags(all_flags);
      |         ^~~~~~~~~
marcalff commented 5 months ago

It seems this build still sees opentelemetry-proto 1.0.0.

If using an external opentelemetry-proto, make sure to use version 1.2.0

If using submodules located under third_party, make sure to update submodules when pulling from github.

For example:

cd third_party/opentelemetry-proto
git log

should read as:

commit 24d4bc002003c74db7aa608c8e254155daf8e49d (HEAD, tag: v1.2.0)
Author: Carlos Alberto Cortez <calberto.cortez@gmail.com>
Date:   Fri Apr 5 22:26:48 2024 +0200

    Prepare Release 1.2.0 (#537)
t-b commented 5 months ago

This fixed it. Thanks.