Error while loading shared libraries: libctf.so

I’m unable to load code to an arduino uno, it happened after the last Gnome Update.
Arduino: 1.8.13 (Linux), Board: “Arduino Uno”
/usr/bin/avr-ld: error while loading shared libraries: libctf.so.0: cannot open shared object file: No such file or directory
collect2: error: ld returned 127 exit status
exit status 1
Error compiling for board Arduino Uno.
This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

Did you install some software from the AUR - to work with and access your arduino?
I have no experience with this and don’t know whether that is in the standard repositories.
If you did install from the AUR - you probably should rebuild that software after the update.
When system packages change (due to the update)
software compiled against the previous versions - as is the case with many AUR packages) - will often not work anymore.

1 Like

That belongs to avr-binutils package.

Might be related to binutils-blackikeeagle from herecura repo …

the update I mentioned above it was applied through the package manager. I have uninstalled the Arduino IDE, several times, before and after rebuilding the binutils package several times. I found on the Arch support forum the that is due to the latest Arch binutils 2.36.2 & 3 that they don’t include the "libctf.so that the 2.35.1-1 is the last package that does, actually here it is the actual note:
Description:
The last update of binutils 2.36.3 is lacking of libctf.so.0 (a symlink to libctf.so.0.0.0 which is missing too) that should be placed under /usr/lib. This makes impossible to download programs into the Arduino board with the “connect” function of the Arduino IDE that complains about the missing library. All the 2.36.x versions in the archive are unusable as the only previous version where libctf.so.0 is present (2.36.1-1) raises the error reported (and solved with the 2.36-2 version of binutils) in FS#69529 .
The last usable version of binutils with Arduino IDE is 2.35.1-1.

Additional info:
Arduino IDE 1.18.13
binutils 2.36.x

Steps to reproduce:
From the Arduino IDE (1.18.13) and press connect icon"
So actually remove the latest binutils and I tried to reinstall 2.35.1-1 but it won’t install that package alone, it needs the next package as it has a dependency on it. So here I am at loss since I can’t get around binutils 2.36.x.

According to the bug you linked:
“The issue is fixed in binutils-2.36-2.”

Manjaro ARM is still using 2.35 though, so how did you get 2.36? (You posted this issue in the ARM section)

Actually, it’s in the package manager: I have screenshots that show the file and the dependency.
I have tried on a terminal through pacman and the reply is file not found.

Now, not even the Arduino IDE will run, this is all I get:

We have same problem, solution on my case:

step 1: Install asp-git (AUR) from Add/Remove software.

step 2:
$ gpg --recv-keys 13FCEF89DD9E3C4F

step 3:

$ asp checkout avr-binutils
$ cd avr-binutils
$ git checkout 41cab1afc826c22d5e1049f1bb60ab9e9b714f7e
$ cd trunk
$ makepkg -sci

Result:
avr-binutils downgraded to 2.33.1-1 but Arduino IDE can be used again.

Hope this solution can help you.
*Do with your own risk.

1 Like

moved to #support:applications , since the issue is is not related to ARM

Thanks anyway.

no, none of the commands work on my distro, maybe I should migrate directly to Arch.

Thank you so much, finally working :slight_smile: (even on arch linux itself)