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] Update to GCC12 #940

Merged
merged 7 commits into from Feb 18, 2023
Merged

[ci] Update to GCC12 #940

merged 7 commits into from Feb 18, 2023

Conversation

salkinium
Copy link
Member

@salkinium salkinium commented Jan 7, 2023

Updating modm to GCC12 to keep up with the times.

  • Merge osx-cross/avr-gcc@12 on macOS PR
  • Merge docker-modm-build PR
  • Update Install instructions
  • Update Build System Documentation
  • avrlibstdc++ needs to have its floating point math forwarding functions removed to prevent loops
  • Fix additional compile flags for GCC12 are unknown to earlier compilers
    • Tested backward compatibility with GCC10
    • Tested new flags on GCC12
  • Tested in Hardware
  • Fix Python >3.8 multiprocessing issue with examples_compile.py and test all script
  • Fix Python >3.8 multiprocessing and filesystem issue with docs generator
    • hangs the system, unclear why, so it's not fixed, instead using the previous container image where it still works

@chris-durand
Copy link
Member

chris-durand commented Jan 8, 2023

All CI issues should be fixed now, including the broken Mac OS build (if they merge the PR and avr-gcc does not fail because of --no-warn-rwx-segment).

@salkinium
Copy link
Member Author

Thank you so much for fixing this, I fell asleep frustrated.

@salkinium
Copy link
Member Author

Ok, avr-gcc 12 has been merged on macOS and I managed to make the new compile flags backward compatible with GCC10 and GCC11. Ran on as many examples in hardware as I was motivated, didn't find anything wrong. Should be good to go!

@salkinium
Copy link
Member Author

Hm, the docs.modm.io generator script also uses multiprocessing and the Python 3.9 bug causes the job to hang. Have they not tested this?

Copy link
Member

@chris-durand chris-durand left a comment

Choose a reason for hiding this comment

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

Nice, thanks.

@salkinium salkinium force-pushed the ci/gcc12 branch 3 times, most recently from fd47e53 to 9b6beaa Compare January 29, 2023 21:33
@salkinium salkinium force-pushed the ci/gcc12 branch 4 times, most recently from f4e5d35 to e6e0cc5 Compare February 5, 2023 23:28
@salkinium
Copy link
Member Author

salkinium commented Feb 7, 2023

I think there is an issue with the Ubuntu 22.04 update, rather than just Python multiprocessing code. I think specifically in the deduplication effort of the documentation generator, so I suspect something changed with the filesystem between 20.04 and 22.04.

@chris-durand chris-durand linked an issue Feb 13, 2023 that may be closed by this pull request
salkinium and others added 7 commits February 18, 2023 19:46
RAM space is running out for some tests.
co-authored-by: Christopher Durand <christopher.durand@rwth-aachen.de>
Processes are now spawned instead of forked, which could otherwise cause
lockups and hung processes.
co-authored-by: Christopher Durand <christopher.durand@rwth-aachen.de>
@salkinium
Copy link
Member Author

I've changed the container back to the previous one only for the build-docs-test. It doesn't use GCC anyways, only Python3 and I'm not motivated to debug the multiprocessing issues further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci:hal Triggers the exhaustive HAL compile CI jobs documentation 📑 testing 🧪 toolchain ⚙️
Development

Successfully merging this pull request may close these issues.

macOS arm-gcc-bin@12 from osx-cross failes
2 participants