Make Error, undefined reference to `__exidx_start'

It is a fresh install on new 1Tb nvme ssd drive. Ubuntu server LTS latest version.

At this point I think I will start over and re-install everything and start with a single instance of Klipper after that.

This all started because I added a new Qidi Q1 Pro to my print farm a few weeks ago and switched to using Orca slicer for the Q1 Pro. I like Klipper and Orca and can see where I can stream line print starts and help with version control and replace the SD Card sneaker net.

OK, wiped hard drive, did fresh install Ubuntu server 24.04 LTS
Lenovo Tiny PC, AMD R7, 8Gb Ram, 1Tb nvme ssd.

Installed single instance Klipper, moonraker, and fluid using KIAUH
Exact same issue.
Researched a bit to find out how to downgrade newlib to 4.2 but couldnā€™t find how to do it. It seems other people are have the same problem but using different Linux flavor. so it seems I am stuck.

Since 24.04 is brand new, it is entirely possible that some updated packages contained breaking changes that now negatively impact Klipper.

The same was true for the upgrade to Debian Bookworm. Another example has been distros that suddenly shipped Python 3.12, which also brought breaking changes.

One option would be to use Debian Bookworm or if you want to use Ubuntu, then go back to 22.04.

Otherwise, you might have to wait until a developer looks at potential breaking changes.

If I install Ubuntu 22.04 then run ā€œsudo apt updateā€ would it update to 24.04 causing problems again?

Sorry for all the questions, just not familiar with Linux.

Ok I installed ver. 22.04 and that seems to work. I was able to build firmware. Hopefully everything else will go smoothly.

I can confirm your findings. On 24.04 it will not compile.

No. Major versions need to be upgraded delicately.

Excellent, good luck.

I can give a little insight on this.

Klipperā€™s linker script does not contain any location for the exception table, which is required by newer versions of libnewlib. Iā€™ve been running into this on Opensuse for quite some time. It also doesnā€™t define a heap, which some configurations donā€™t care about.

Iā€™ve had success adding sections for the exception index, and a one byte heap.

This branch is stale, but it contains the same patchset. Iā€™ve been using for 1y+.

2 Likes

I got the same problem on ubuntu 24.04.
I was able to build firmware on ubuntu 22.04 since this article!
Thank you for your time and effort!

Please make sure you run the latest Klipper version as per GitHub - Klipper3d/klipper: Klipper is a 3d-printer firmware
In theory, this topic should have been fixed two weeks ago.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.