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

[BUILD] protoc error during build of opentelemetry-cpp with OTLP HTTP enabled #2676

Closed
philrq opened this issue May 22, 2024 · 2 comments · Fixed by #2677
Closed

[BUILD] protoc error during build of opentelemetry-cpp with OTLP HTTP enabled #2676

philrq opened this issue May 22, 2024 · 2 comments · Fixed by #2677
Labels
bug Something isn't working

Comments

@philrq
Copy link

philrq commented May 22, 2024

Describe your environment

linux, gcc 7.3.1, protobuf 26.1, latest opentelemetry-cpp

Steps to reproduce

mkdir otel-cpp-starter
cd otel-cpp-starter
git clone https://github.com/open-telemetry/opentelemetry-cpp.git
cd opentelemetry-cpp
mkdir build
cd build
cmake -DBUILD_TESTING=OFF -DWITH_OTLP_HTTP=ON -DBUILD_SHARED_LIBS=OFF -DWITH_ABSEIL=ON -DCURL_LIBRARY=/BuySide_dev_home/users/procques/libcurl/lib -DCURL_INCLUDE_DIR=/home/libcurl/include -DCMAKE_PREFIX_PATH=/home/abseil/Install -DProtobuf_LIBRARIES=/tmp/protobuf/lib64/libprotobuf.a -DProtobuf_INCLUDE_DIR=/tmp/protobuf/include/ -DProtobuf_PROTOC_EXECUTABLE=/tmp/protobuf/bin/protoc ..

(works; no errors)

cmake --build .

[ 5%] Built target opentelemetry-proto

[ 5%] [Run]: "/tmp/protobuf/bin/protoc" "--proto_path=/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto" "--cpp_out=/home/otel-cpp-starter/opentelemetry-cpp/build/generated/third_party/opentelemetry-proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/common/v1/common.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/resource/v1/resource.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/trace/v1/trace.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/logs/v1/logs.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/metrics/v1/metrics.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/pprofextended.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/trace/v1/trace_service.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/logs/v1/logs_service.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/metrics/v1/metrics_service.proto" "/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto"

Could not make proto path relative: /home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.proto: No such file or directory

gmake[2]: *** [CMakeFiles/opentelemetry_proto.dir/build.make:74: generated/third_party/opentelemetry-proto/opentelemetry/proto/common/v1/common.pb.h] Error 1

gmake[1]: *** [CMakeFiles/Makefile2:694: CMakeFiles/opentelemetry_proto.dir/all] Error 2

gmake: *** [Makefile:136: all] Error 2

(The directory
/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/
exists, but
/home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles
doesn't exist

What is the expected behavior?
I expected the build to complete and generate opentelemetry libraries, as it does when OTLP HTTP is not enabled.

What is the actual behavior?
The build failed because a command it executed referred to a directory which didn't exist:
Could not make proto path relative: /home/otel-cpp-starter/opentelemetry-cpp/build/opentelemetry-proto-prefix/src/opentelemetry-proto/opentelemetry/proto/profiles/v1experimental/profiles.proto: No such file or directory

Additional context

@philrq philrq added the bug Something isn't working label May 22, 2024
@github-actions github-actions bot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label May 22, 2024
@owent
Copy link
Member

owent commented May 23, 2024

Could you please try git submodule update --init after clone? The default proto version is wrong now.

@marcalff marcalff changed the title protoc error during build of opentelemetry-cpp with OTLP HTTP enabled [BUILD] protoc error during build of opentelemetry-cpp with OTLP HTTP enabled May 23, 2024
@philrq
Copy link
Author

philrq commented May 23, 2024

Your suggestion (git submodule update --init after clone) has fixed the problem - thanks

@philrq philrq closed this as completed May 23, 2024
@marcalff marcalff removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants