-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Firmware no longer builds for Atmega 328p #4938
Comments
Sorry, forgot to upload the kconfig file. Turns out I have a slightly newer version of gcc-avr than what's running on the test suite. 1:5.4.0+Atmel3.6.2-1 and the test suite is using 1:5.4.0+Atmel3.6.0-1build1. |
Okay a bit more information. I have two separate klipper instances to compare side-by-side. One is a fresh mainsailOS install and the second is my current ubuntu 21.10 setup. Both are running identical klipper commits. MainsailOS utility versions: Ubuntu utility versions: MainsailOS memory configuration:
Ubuntu Memory Configuration:
Mainsail .text size: 0x6488 (25,736) Mainsail .data size: 0x2a (42) Here are the map files for comparison: |
Related? If yes this would mean it is an OS / Linux issue on Bullseye |
same issue for me, as a workaround, I flashed the HEX file using Windows with xLoader_V1_339 (V1.0 did not work) |
I can add two data points: My machine running klipper v0.10.0-164 on a pi 3b with raspberry pi OS light and mainsail (OS and mainsail installed seperately - did not use mainsailOS image) fails to compile for Atmega 328p. My other machine running klipper v0.10.0-164 on a pi 3b with mainsail installed from mainsail OS image does compile successfully for Atmega 328p. |
Full output of verbose build command:
|
|
Hello, It looks like there hasn't been any recent updates on this Best regards, ~ Your friendly GitIssueBot PS: I'm just an automated script, not a human being. |
This is a problem with the version of gcc 5.4.0 that Ubuntu ships with. Using a newer version of gcc works. Try building with fluidd Pi OS or mainsail OS if you have either installed or can use the guide here to build a newer version on Ubuntu: https://blog.zakkemble.net/avr-gcc-builds/ |
I suspect the issue to be in avr libc rather than gcc avr. But that's a whole. As this issue only occurs on bullseye based distributions, and it's still working on buster based, another workaround is to revert back the AVR packages to buster. It's not ideal. Upgrading to a more recent version of AVR toolchain is better, but it's also harder. Here is the "buster rollback" workaround for those who don't know how to compile and setup a new avr toochain, or don't wants to. It allows to compile klipper firmware on small AVR directly from your rasperry pi, the normal way.
This setup does not prevent the rest of your OS to have regular package updates on bullseye. This may also work on Ubuntu, but instead of rollbacking packages from bullseye to buster, update the steps to rollback from jammy (which seems to have the faulty packages inherited from debian), to focal. Untested. |
Confirmed that using @orobardet 's workaround above, worked. I had a printer I hadn't updated klipper or OS packages on and could compile on that. |
Looks like the image is too big for flash. Not sure what commit exactly caused this.
Log is irrelevant but added anyway.
klippy.log
The text was updated successfully, but these errors were encountered: