Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scarthgap: opentelemetry-cpp 1.17.0: Unable to build OTLP exporters #897

Open
graceagrace opened this issue Nov 12, 2024 · 0 comments
Open

Comments

@graceagrace
Copy link

graceagrace commented Nov 12, 2024

Hi there,

I have opentelemetry-cpp_1.17.0 building successfully on both kirkstone and scarthgap with the default packageconfig options (opentelemetry_install and otlp_api). I am running into trouble trying to build with packageconfig options otlp_grpc and otlp_http after migrating to scarthgap, and was hoping for some guidance. Here is the log file from failure on do_compile():

[6/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -P /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/tmp/opentelemetry-proto-gitclone.cmake && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-download
Cloning into 'opentelemetry-proto'...
HEAD is now at 40b3c1b Prepare changelog for 1.3.2 release (#563)
[7/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E echo_append && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-update
[8/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E echo_append && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-patch
[9/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-build && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E echo_append && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-configure
[10/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-build && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E echo_append && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-build
[11/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-build && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E echo_append && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-install
[12/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E make_directory /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/CMakeFiles && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/CMakeFiles/opentelemetry-proto-complete && /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/cmake -E touch /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto-stamp/opentelemetry-proto-done
[13/171] cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build && --proto_path=/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto --cpp_out=/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto --grpc_out=generate_mock_code=true:/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto --plugin=protoc-gen-grpc="/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/grpc_cpp_plugin" /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/common/v1/common.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto
FAILED: generated/third_party/opentelemetry-proto/opentelemetry/proto/common/v1/common.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/common/v1/common.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.grpc.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.grpc.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.grpc.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.grpc.pb.cc generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.grpc.pb.h generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.grpc.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/common/v1/common.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/common/v1/common.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.grpc.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.grpc.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.grpc.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.grpc.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.grpc.pb.cc /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.grpc.pb.h /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.grpc.pb.cc 
cd /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build && --proto_path=/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto --cpp_out=/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto --grpc_out=generate_mock_code=true:/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/generated/third_party/opentelemetry-proto --plugin=protoc-gen-grpc="/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/recipe-sysroot-native/usr/bin/grpc_cpp_plugin" /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/common/v1/common.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.proto /home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto
/bin/sh: 1: --proto_path=/home/build/tmp/work/armv8a-linux/opentelemetry-cpp/1.17.0/build/opentelemetry-proto-prefix/src/opentelemetry-proto: not found

I've checked the location where proto_path points to, and it does in fact exist. I am not sure if cloning opentelemetry-proto is the intended behavior, here. Might this package need its own recipe?

For full reproducibility's sake, I'll note that I added the appropriate gRPC and protobuf dependencies to the recipe, as follows:

SUMMARY = "Open Telemetry Library"
DESCRIPTION = "An Observability framework to create and manage telemetry data \
such as traces, metrics, and logs."
HOMEPAGE = "https://github.com/open-telemetry/opentelemetry-cpp"
SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"

DEPENDS = "curl grpc nlohmann-json protobuf protobuf-native abseil-cpp"

SRC_URI = "git://github.com/open-telemetry/opentelemetry-cpp.git;protocol=https;branch=main \
           file://0001-Fix-build-with-clang-19.patch"
SRCREV = "fa0a5200ddbe9ae6f487a228e658aedc102dab56"

S = "${WORKDIR}/git"
inherit cmake pkgconfig lib_package

EXTRA_OECMAKE = "-DWITH_ABSEIL=ON"

LDFLAGS:append:riscv32 = " -latomic"

PACKAGECONFIG ?= "opentelemety_install otlp_api otlp_grpc otlp_http"

PACKAGECONFIG[opentelemety_install]="-DOPENTELEMETRY_INSTALL=ON,-DOPENTELEMETRY_INSTALL=OFF"
PACKAGECONFIG[build_package]="-DBUILD_PACKAGE=ON,-DBUILD_PACKAGE=OFF"
PACKAGECONFIG[otlp_api]="-DWITH_OTLP_API=ON,-DWITH_OTLP_API=OFF"
PACKAGECONFIG[otlp_grpc]="-DWITH_OTLP_GRPC=ON,-DWITH_OTLP_GRPC=OFF"
PACKAGECONFIG[otlp_http]="-DWITH_OTLP_HTTP=ON,-DWITH_OTLP_HTTP=OFF"
PACKAGECONFIG[otlp_prometheus]="-DWITH_PROMETHEUS=ON,-DWITH_PROMETHEUS=OFF"
PACKAGECONFIG[benchmark]="-DWITH_BENCHMARK=ON,-DWITH_BENCHMARK=OFF"
PACKAGECONFIG[testing]="-DBUILD_TESTING=ON,-DBUILD_TESTING=OFF"
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

No branches or pull requests

1 participant