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

CI: use GCC 14 in Linux build #816

Merged
merged 2 commits into from
May 28, 2024
Merged

CI: use GCC 14 in Linux build #816

merged 2 commits into from
May 28, 2024

Conversation

cjmayo
Copy link
Contributor

@cjmayo cjmayo commented May 21, 2024

Ubuntu 24.04 packages GCC 13. GitHub add GCC 14 to their runner.


There are now some CMake issues to sort out with the Clipper2 snapshot!

CMake Error: install(EXPORT "manifoldTargets" ...) includes target "cross_section" which requires target "Clipper2" that is not in this export set, but in multiple other export sets: lib/cmake/clipper2/Clipper2Targets.cmake, share/clipper2/clipper2Targets.cmake.
An exported target cannot depend upon another target which is exported multiple times. Consider consolidating the exports of the "Clipper2" target to a single export.
-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

@cjmayo cjmayo mentioned this pull request May 21, 2024
@elalish
Copy link
Owner

elalish commented May 21, 2024

Interesting, I guess file an issue on Clipper2? Or is this a problem in our own CMake?

@elalish elalish requested a review from pca006132 May 21, 2024 18:59
@cjmayo
Copy link
Contributor Author

cjmayo commented May 21, 2024

I've built locally with that Clipper2 snapshot, but installing into my system first before building Manifold. So I wasn't expecting this - but haven't had time to look yet either.

@pca006132
Copy link
Collaborator

Interesting, I think the clipper2 update is separate from the GCC update. I forgot a lot of cmake trickeries now, need to check if the best solution is to fix things here or ask upstream to have a single export.

@cjmayo
Copy link
Contributor Author

cjmayo commented May 22, 2024

I've dropped the clipper2 update commit in favour of #817.

@cjmayo cjmayo marked this pull request as ready for review May 22, 2024 18:29
@cjmayo cjmayo force-pushed the gcc14 branch 2 times, most recently from 5c59da3 to 05b0391 Compare May 24, 2024 18:22
@cjmayo
Copy link
Contributor Author

cjmayo commented May 24, 2024

Compiling on GCC 14 after #817 merged but lcov fails linux-test-project/lcov#296

Processing ./test/CMakeFiles/manifold_test.dir/smooth_test.cpp.gcno
geninfo: ERROR: mismatched end line for _ZN23Smooth_Tetrahedron_Test8TestBodyEv at /home/runner/work/manifold/manifold/test/smooth_test.cpp:26: 26 -> 39
	(use "geninfo --ignore-errors mismatch ..." to bypass this error)

@pca006132
Copy link
Collaborator

I think it is fine to disable lcov for GCC 14 for now?

Copy link

codecov bot commented May 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.21%. Comparing base (d437097) to head (914743a).
Report is 29 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #816      +/-   ##
==========================================
- Coverage   91.84%   89.21%   -2.63%     
==========================================
  Files          37       61      +24     
  Lines        4976     8467    +3491     
  Branches        0      930     +930     
==========================================
+ Hits         4570     7554    +2984     
- Misses        406      913     +507     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Ubuntu 24.04 packages GCC 13. GitHub add GCC 14 to their runner.
Processing ./test/CMakeFiles/manifold_test.dir/smooth_test.cpp.gcno
geninfo: ERROR: mismatched end line for _ZN23Smooth_Tetrahedron_Test8TestBodyEv at /home/runner/work/manifold/manifold/test/smooth_test.cpp:26: 26 -> 39
	(use "geninfo --ignore-errors mismatch ..." to bypass this error)
@cjmayo
Copy link
Contributor Author

cjmayo commented May 25, 2024

Looking more closely it was actually GCC 13 that was failing (GCC 14 job hadn't got that far).

It passes if --ignore-errors mismatch is used with lcov .

Then needed --gcov-tool gcov-${{ matrix.gcc }} for GCC 14.

Copy link
Owner

@elalish elalish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@elalish elalish merged commit 55a0221 into elalish:master May 28, 2024
20 checks passed
@cjmayo cjmayo deleted the gcc14 branch May 28, 2024 18:49
@elalish elalish mentioned this pull request Jun 12, 2024
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.

3 participants