Skip to content

new repo version seems stop create any the ingress-nginx controller with opentelemetry-cpp.git #4515

@matthias-haase

Description

@matthias-haase

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

pls see: 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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    solution: invalidthe issue is not related to the library

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions