new repo version seems stop create any the ingress-nginx controller with opentelemetry-cpp.git
Closed this issue · 3 comments
matthias-haase commented
Description
new repo version seems stop create the ingress-nginx controlle on https://github.com/kubernetes with using https://github.com/open-telemetry/opentelemetry-cpp.git
my finding in https://storage.googleapis.com/kubernetes-ci-logs/logs/post-ingress-nginx-nginx/1860323495271993344/artifacts/build.log
#13 388.1 ninja: job terminated due to signal 11: /usr/bin/c++ -DHAVE_ABSEIL -DHAVE_CPP_STDLIB -Dopentelemetry_logs_EXPORTS -I/tmp/build/opentelemetry-cpp/build/generated/third_party/opentelemetry-proto -I/tmp/build/opentelemetry-cpp/api/include -I/tmp/build/opentelemetry-cpp/sdk/include -I/tmp/build/opentelemetry-cpp/sdk -I/tmp/build/opentelemetry-cpp/ext/include -DBENCHMARK_HAS_NO_INLINE_ASSEMBLY -std=gnu++20 -fPIC -Wno-error=deprecated-declarations -MD -MT sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -MF sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o.d -o sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -c /tmp/build/opentelemetry-cpp/sdk/src/logs/simple_log_record_processor.cc
...
ingress-nginx.git|ingress-nginx.git $ vi images/nginx/rootfs/build.sh
...
298 cd "$BUILD_PATH/opentelemetry-cpp"
299 export CXXFLAGS="-DBENCHMARK_HAS_NO_INLINE_ASSEMBLY"
300 cmake -B build -G Ninja -Wno-dev \
301 -DOTELCPP_PROTO_PATH="${BUILD_PATH}/opentelemetry-proto/" \
302 -DCMAKE_INSTALL_PREFIX=/usr \
303 -DBUILD_SHARED_LIBS=ON \
304 -DBUILD_TESTING="OFF" \
305 -DBUILD_W3CTRACECONTEXT_TEST="OFF" \
306 -DCMAKE_BUILD_TYPE=None \
307 -DWITH_ABSEIL=ON \
308 -DWITH_STL=ON \
309 -DWITH_EXAMPLES=OFF \
310 -DWITH_ZPAGES=OFF \
311 -DWITH_OTLP_GRPC=ON \
312 -DWITH_OTLP_HTTP=ON \
313 -DWITH_ZIPKIN=ON \
314 -DWITH_PROMETHEUS=OFF \
315 -DWITH_ASYNC_EXPORT_PREVIEW=OFF \
316 -DWITH_METRICS_EXEMPLAR_PREVIEW=OFF
317 cmake --build build
# <- this "cmake --build build" i assume has the problem
...
opentelemetry-cpp.git|opentelemetry-cpp.git $ find . -type f|xargs grep nlohmann_json_download
./cmake/nlohmann-json.cmake: nlohmann_json_download
./cmake/nlohmann-json.cmake: ExternalProject_Get_Property(nlohmann_json_download INSTALL_DIR)
./cmake/nlohmann-json.cmake: ${INSTALL_DIR}/src/nlohmann_json_download/single_include)
./cmake/nlohmann-json.cmake: add_dependencies(nlohmann_json_ nlohmann_json_download)
opentelemetry-cpp.git|opentelemetry-cpp.git $ jedit ./cmake/nlohmann-json.cmake
60 ExternalProject_Add(
61 nlohmann_json_download
62 PREFIX third_party
63 GIT_REPOSITORY https://github.com/nlohmann/json.git
64 GIT_TAG "${nlohmann-json}"
65 UPDATE_COMMAND ""
66 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
67 -DJSON_BuildTests=OFF -DJSON_Install=ON
68 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
69 TEST_AFTER_INSTALL 0
70 DOWNLOAD_NO_PROGRESS 1
71 LOG_CONFIGURE 1
72 LOG_BUILD 1
73 LOG_INSTALL 1)
conclusion i assume opentelemetry-cpp.git -> https://github.com/nlohmann/json.git and there's a "problem" (or bug) in nlohmann git.
Reproduction steps
#13 388.1 ninja: job terminated due to signal 11: /usr/bin/c++ -DHAVE_ABSEIL -DHAVE_CPP_STDLIB -Dopentelemetry_logs_EXPORTS -I/tmp/build/opentelemetry-cpp/build/generated/third_party/opentelemetry-proto -I/tmp/build/opentelemetry-cpp/api/include -I/tmp/build/opentelemetry-cpp/sdk/include -I/tmp/build/opentelemetry-cpp/sdk -I/tmp/build/opentelemetry-cpp/ext/include -DBENCHMARK_HAS_NO_INLINE_ASSEMBLY -std=gnu++20 -fPIC -Wno-error=deprecated-declarations -MD -MT sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -MF sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o.d -o sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -c /tmp/build/opentelemetry-cpp/sdk/src/logs/simple_log_record_processor.cc
and
kubernetes/ingress-nginx#12371
Expected vs. actual results
#13 388.1 ninja: job terminated due to signal 11: /usr/bin/c++ -DHAVE_ABSEIL -DHAVE_CPP_STDLIB -Dopentelemetry_logs_EXPORTS -I/tmp/build/opentelemetry-cpp/build/generated/third_party/opentelemetry-proto -I/tmp/build/opentelemetry-cpp/api/include -I/tmp/build/opentelemetry-cpp/sdk/include -I/tmp/build/opentelemetry-cpp/sdk -I/tmp/build/opentelemetry-cpp/ext/include -DBENCHMARK_HAS_NO_INLINE_ASSEMBLY -std=gnu++20 -fPIC -Wno-error=deprecated-declarations -MD -MT sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -MF sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o.d -o sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -c /tmp/build/opentelemetry-cpp/sdk/src/logs/simple_log_record_processor.cc
Minimal code example
opentelemetry-cpp.git|opentelemetry-cpp.git $ jedit ./cmake/nlohmann-json.cmake
60 ExternalProject_Add(
61 nlohmann_json_download
62 PREFIX third_party
63 GIT_REPOSITORY https://github.com/nlohmann/json.git
64 GIT_TAG "${nlohmann-json}"
65 UPDATE_COMMAND ""
66 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
67 -DJSON_BuildTests=OFF -DJSON_Install=ON
68 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
69 TEST_AFTER_INSTALL 0
70 DOWNLOAD_NO_PROGRESS 1
71 LOG_CONFIGURE 1
72 LOG_BUILD 1
73 LOG_INSTALL 1)
Error messages
Shell
#13 388.1 ninja: job terminated due to signal 11: /usr/bin/c++ -DHAVE_ABSEIL -DHAVE_CPP_STDLIB -Dopentelemetry_logs_EXPORTS -I/tmp/build/opentelemetry-cpp/build/generated/third_party/opentelemetry-proto -I/tmp/build/opentelemetry-cpp/api/include -I/tmp/build/opentelemetry-cpp/sdk/include -I/tmp/build/opentelemetry-cpp/sdk -I/tmp/build/opentelemetry-cpp/ext/include -DBENCHMARK_HAS_NO_INLINE_ASSEMBLY -std=gnu++20 -fPIC -Wno-error=deprecated-declarations -MD -MT sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -MF sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o.d -o sdk/src/logs/CMakeFiles/opentelemetry_logs.dir/simple_log_record_processor.cc.o -c /tmp/build/opentelemetry-cpp/sdk/src/logs/simple_log_record_processor.cc
Compiler and operating system
docker
Library version
latest
Validation
- The bug also occurs if the latest version from the
develop
branch is used. - I can successfully compile and run the unit tests.
nlohmann commented
I don't see how I can help here. I don't see a build error mentioning library code.
matthias-haase commented
yes sure - seems to be not the problem here sorry - will close / delete this bug - sorry - sorry
matthias-haase commented
no problem seems to be here - sorry - my fault
here is the problem:
PROTO_PATH not correct + assume also GENERATED_PROTOBUF_PATH
opentelemetry-cpp.git|opentelemetry-cpp.git $ find . -type f|xargs grep v1experimental
./cmake/opentelemetry-proto.cmake: "${PROTO_PATH}/opentelemetry/proto/profiles/v1experimental/profiles.proto")
./cmake/opentelemetry-proto.cmake: "${PROTO_PATH}/opentelemetry/proto/profiles/v1experimental/pprofextended.proto"
./cmake/opentelemetry-proto.cmake: "${PROTO_PATH}/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.proto"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/profiles/v1experimental/profiles.pb.cc"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/profiles/v1experimental/profiles.pb.h"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/profiles/v1experimental/pprofextended.pb.cc"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/profiles/v1experimental/pprofextended.pb.h"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.pb.h"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.pb.cc"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.grpc.pb.h"
./cmake/opentelemetry-proto.cmake: "${GENERATED_PROTOBUF_PATH}/opentelemetry/proto/collector/profiles/v1experimental/profiles_service.grpc.pb.cc"