Skip to content

Switch to the latest toolshed - #101

Merged
pavel-kirienko merged 6 commits into
mainfrom
issue/94_toolshed
Apr 8, 2024
Merged

pavel-kirienko merged 6 commits into
mainfrom
issue/94_toolshed

Conversation

@pavel-kirienko

Copy link
Copy Markdown
Member

Sadly we can't re-enable WARN_AS_ERROR in docs builds because Doxygen v1.10 is still broken, but we can stil hop.

@pavel-kirienko

Copy link
Copy Markdown
Member Author

@thirtytwobits can you please check the build error? It refers to the deprecation/removal of https://en.cppreference.com/w/cpp/memory/allocator/destroy

@thirtytwobits

Copy link
Copy Markdown
Member

Seems like we might need some ifdef c++20 to work around?

@pavel-kirienko

Copy link
Copy Markdown
Member Author

@thirtytwobits The problem is not in our code but is caused by the fact that Clang uses libc++ shipped with GCC v11, which is old and makes use of the deprecated function. To fix this we need to upgrade the container (again) to use at least GCC 12; according to my local tests that is sufficient.

@pavel-kirienko

Copy link
Copy Markdown
Member Author

@thirtytwobits could you please push a new container build? I will update this PR then

@pavel-kirienko pavel-kirienko removed their assignment Apr 2, 2024
@pavel-kirienko
pavel-kirienko enabled auto-merge (squash) April 4, 2024 19:30
@pavel-kirienko

Copy link
Copy Markdown
Member Author

@thirtytwobits Now the container ships the wrong version of gcov! Which segfaults because of the version mismatch between GCC and GCOV.

Run coverage build:

build-tools/bin/verify.py --online --asserts --exceptions --build-flavor Coverage --cpp-standard 14 --toolchain gcc

This command fails:

cd /repo/build/suites/unittest/CMakeFiles/test_pf17_polymorphic_allocator__googletest_objlib.dir && /usr/local/bin/gcovr --gcov-executable gcov --root /repo/ --verbose --json --output /repo/build/suites/unittest/test_pf17_polymorphic_allocator.json --exclude "/repo/cetlvast/suites/unittest" --gcov-exclude "/repo/cetlvast/suites/unittest" --exclude "/repo/cetlvast" --gcov-exclude "/repo/cetlvast" --exclude "/repo/cetlvast/build_external/googletest/googlemock" --gcov-exclude "/repo/cetlvast/build_external/googletest/googlemock" --exclude "/repo/cetlvast/build_external/googletest/googletest" --gcov-exclude "/repo/cetlvast/build_external/googletest/googletest" --object-directory "/repo/build/suites/unittest/CMakeFiles/test_pf17_polymorphic_allocator__googletest_objlib.dir" /repo/build/suites/unittest/CMakeFiles/test_pf17_polymorphic_allocator__googletest_objlib.dir

Specifically, this subcommand invoked by the above segfaults:

$ gcov /repo/build/suites/unittest/CMakeFiles/test_pf17_polymorphic_allocator__googletest_objlib.dir/test_pf17_polymorphic_allocator.cpp.gcda --branch-counts --branch-probabilities --all-blocks --demangled-names --hash-filenames --object-directory build/suites/unittest/CMakeFiles/test_pf17_polymorphic_allocator__googletest_objlib.dir
build/suites/unittest/CMakeFiles/test_pf17_polymorphic_allocator__googletest_objlib.dir/test_pf17_polymorphic_allocator.cpp.gcno:version 'B23*', prefer 'B14*'
Segmentation fault (core dumped)

Because gcov is one version behind GCC:

root@273266aced7d:/repo# gcov --version
gcov (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

root@273266aced7d:/repo# gcc --version
gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

@thirtytwobits

Copy link
Copy Markdown
Member

I forgot to add gcov to the updated alternatives. This has been corrected and I've re-released ts22.4.7. Please try again.

@sonarqubecloud

sonarqubecloud Bot commented Apr 7, 2024

Copy link
Copy Markdown

@pavel-kirienko

Copy link
Copy Markdown
Member Author

@thirtytwobits this seems to be done

@pavel-kirienko
pavel-kirienko merged commit 08e70a7 into main Apr 8, 2024
@pavel-kirienko
pavel-kirienko deleted the issue/94_toolshed branch April 8, 2024 16:59
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

Successfully merging this pull request may close these issues.

2 participants