opentelemetry-cpp icon indicating copy to clipboard operation
opentelemetry-cpp copied to clipboard

cmake.c++20.test fails in the Docker container in both bazel versions 3.2.0 and 3.3.0.

Open erichsueh3 opened this issue 5 years ago • 10 comments
trafficstars

Is your feature request related to a problem? Running the CI tests through GitHub actions results in all tests passing successfully. However, running the CI tests manually in the Docker container through terminal results in multiple CMake errors throughout all CMakeLists.txt in the repository caused by the cmake.c++20.test. The error produced reads "CXX_STANDARD is set to invalid value '20'". This error happens in both bazel version 3.2.0 and bazel version 3.3.0.

Describe the solution you'd like The readme should inform readers on how to run the CI tests on GitHub Actions, instead of informing readers on how to run the CI tests manually through the Docker container.

Describe alternatives you've considered Alternatively, a note can be put into the readme that describes the issue with running the cmake.c++20.test manually, and how it passes when run through GitHub Actions.

erichsueh3 avatar Jul 01 '20 19:07 erichsueh3

This requires updating our CI Dockerfile with a compiler supporting C++20. the ubuntu:20.04 image provides gcc version supporting C++20, however there's no gcc-4.8 package for this Ubuntu version.

What I would recommend:

  • Adding a separate Dockerfile based on ubuntu:20.04.
  • Provide an option in run_ci.sh to switch between those images.

Alternatively, we might set up a Dockerfile based on ubuntu:20.04 that compiles and installs gcc-4.8 from source, but I think that's not worth the effort.

pyohannes avatar Jul 01 '20 22:07 pyohannes

You can use matrix build to build on older Ubuntu and 20.40. Example how I'm doing it in my fork to verify some ongoing C++20 work: https://github.com/maxgolov/opentelemetry-cpp/blob/master/.github/workflows/build-ubuntu.yml

maxgolov avatar Jul 02 '20 17:07 maxgolov

Would I be able to be assigned to implement this alongside my supervisor @alolita ?

dabangarang avatar Jul 08 '20 21:07 dabangarang

Hi, just running into a few roadblocks regarding this issue:

  • In my forked repo, even though I change the Dockerfile to use 20.04, the testing fails with the same errors. Do I have to change other aspects of the Dockerfile or other bash script files for this process to run smoothly? (ie. where would I change the gcc version package, or is that already a part of the new Docker image? Or would I also have to create an install_gcc(supported version).sh and add that to the ci build pipeline?)
  • If I were to take the first approach and create a second Dockerfile, where would this 20.04 dockerfile be located? Only 1 dockerfile can exist in a single folder, if I'm not mistaken. and if so, what would be the input that specifies using 18.04 as opposed to 20.04? Would it just be for this test and nothing else?) -If I take the second (Max's) approach, where does that yaml file get called aside from pushes and pulls? If I am hoping to run the test on my computer whenever, where would I add the option for ubuntu 20.04, and all the other necessary components needed for the c++20 testing to work, in the ci folder? @pyohannes @maxgolov My apologies in advance for the confusion.

dabangarang avatar Jul 13 '20 17:07 dabangarang

Make sure to install g++-10, which provides latest support for C++20 and supports the -std=c++20 flag.

pyohannes avatar Jul 22 '20 17:07 pyohannes

Is this issue still relevant after merging https://github.com/open-telemetry/opentelemetry-cpp/pull/504 ?

TomRoSystems avatar Jan 25 '21 19:01 TomRoSystems

Is this issue still relevant after merging #504 ?

Seems so - #211 was supposed to provide fix ( Dockerfile with having C++20 compiler ).

lalitb avatar Jan 25 '21 19:01 lalitb

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

github-actions[bot] avatar Dec 04 '21 01:12 github-actions[bot]

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

github-actions[bot] avatar Feb 03 '22 01:02 github-actions[bot]

This issue was marked as stale due to lack of activity. It will be closed in 7 days if no furthur activity occurs.

github-actions[bot] avatar Apr 04 '22 02:04 github-actions[bot]

This issue is almost 3 years old now, and a lot of things have changed in the code and CI since then.

Closing.

Please reopen if the issue is still valid, and provide logs of the failure seen.

marcalff avatar May 26 '23 08:05 marcalff