As far as I can see, there are two options:

  • Install an old version (as pointed out by Chaos)
  • Install gdb-multiarch, which actually worked for me.
Answer from user1729210 on askubuntu.com
🌐
Quora
quora.com › How-do-you-install-arm-none-Eabi-GDB-on-Ubuntu-20-04-LTS-Focal-Fossa-apt-gcc-arm-Ubuntu
How to install arm none Eabi GDB on Ubuntu 20.04 LTS (Focal Fossa, apt, gcc, arm, Ubuntu) - Quora
Answer: Hi, typically you can download the ARM GNU Tool chain directly from ARM. This tool chain can be found here, be sure to select the correct download for your personal computers’ architecture. Once downloaded, you should be able to simply extract the contents of the download archive and plac...
Top answer
1 of 5
49

It turned out that ARM decided to make our life easier (sarcasm) by deprecating the use of PPA - their page at launchpad now has an anouncement: "... all new binary and source packages will not be released on Launchpad henceforth ...".

So, to make use of their latest arm-none-eabi-gdb you have to install gcc-arm-embedded manually.

Remove arm-none-eabi-gcc from your system:

sudo apt remove gcc-arm-none-eabi

Download latest version (Linux x86_64 Tarball) from their website, check its MD5. Unpack it into some directory. I used /usr/share/ :

sudo tar xjf gcc-arm-none-eabi-YOUR-VERSION.bz2 -C /usr/share/

Create links so that binaries are accessible system-wide:

sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc 
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-gdb /usr/bin/arm-none-eabi-gdb
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-size /usr/bin/arm-none-eabi-size
sudo ln -s /usr/share/gcc-arm-none-eabi-YOUR-VERSION/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy

Install dependencies. ARM's "full installation instructions" listed in readme.txt won't tell you what dependencies are - you have to figure it out by trial and error. In my system I had to manually create symbolic links to force it to work:

sudo apt install libncurses-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5

Check if it works:

arm-none-eabi-gcc --version
arm-none-eabi-g++ --version
arm-none-eabi-gdb --version
arm-none-eabi-size --version
2 of 5
10

I've wrapped the script here by @kmhallen into a semi-automated debian package builder here: https://gitlab.com/alelec/arm-none-eabi-gcc-deb/-/releases

Installing a package like this means you can skip the tedious manual symlinks to put tools on the path, and just as importantly you can uninstall / upgrade to newer packages (assuming I remember to make more packages)

🌐
Alan C. Assis
acassis.wordpress.com › 2018 › 12 › 27 › adding-arm-none-eabi-gdb-to-ubuntu-18-04
Adding arm-none-eabi-gdb to Ubuntu 18.04 – Alan C. Assis
December 27, 2018 - $ sudo dpkg -i gdb-arm-none-eabi_7.10-1ubuntu3+9_amd64.deb · Source: https://bugs.launchpad.net/ubuntu/+source/chkconfig/+bug/1763006
🌐
Interrupt
interrupt.memfault.com › blog › installing-gdb
Tools we use: installing GDB for ARM - Interrupt - Memfault
August 3, 2022 - # select a specific SHA, to strictly pin the base image FROM ubuntu:22.04@sha256:bace9fb0d5923a675c894d5c815da75ffe35e24970166a48a4460a48ae6e0d19 ARG DEBIAN_FRONTEND=noninteractive # install GDB + GCC for ARM RUN apt-get update && apt-get install -y --no-install-recommends \ gcc-arm-none-eabi \ gdb-multiarch
🌐
Byran
byran.tech › blog › how-to-install-arm-eabi-none-gdb-on-ubuntu
How to install arm-eabi-none-gdb on Ubuntu
January 7, 2022 - If the toolchain now complains about a missing library, such as: arm-none-eabi-gdb: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
🌐
Arm Community
community.arm.com › support-forums › f › compilers-and-libraries-forum › 52805 › gcc-arm-11-2-2022-02-x86_64-arm-none-eabi-gdb-fails-on-ubuntu
gcc-arm-11.2-2022.02-x86_64-arm-none-eabi gdb FAILS ...
May 18, 2022 - Have a question about working on Arm technology? Browse our support forums for solutions to your questions, answer questions from fellow community members and get help from Arm experts.
🌐
Codelv
codelv.com › blog › 2021 › 1 › installing-arm-embedded-toolchain-on-ubuntu-20-04
Installing arm embedded toolchain on ubuntu 20.04 - CodeLV
January 22, 2021 - $ arm-none-eabi-gdb firmware.elf --ex 'target remote localhost:3333' GNU gdb (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.1.90.20201028-git Copyright (C) 2020 Free Software Foundation, Inc.
Find elsewhere
🌐
Lindevs
lindevs.com › install-arm-gnu-toolchain-on-ubuntu
Install Arm GNU Toolchain on Ubuntu 22.04 | Lindevs
November 14, 2023 - Hi, Perhaps you forgot to add /opt/gcc-arm-none-eabi/bin directory to the PATH environment variable. Also, you need to run source command to make changes to take effect. ... If you have Ubuntu 23.10, libncursesw.so.5 not for you. Ubuntu Mantic 23.10 required libncursesw6. I trying install GDB from ...
🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › software & applications
Getting to work ARM-compiler arm-none-eabi with Linux 21 Vanessa - Linux Mint Forums
November 28, 2022 - 1)Unpack into /usr/share/ 2)Create links for gcc, g++, gdb ... sudo ln -s /usr/share/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc ... 3)Install dependency sudo apt install libncurses-dev 4) Create links 5) From here on: I can call arm-none-eabi-gcc ...
Top answer
1 of 5
10

I got it working on Kubuntu 19.10 installing:

apt install libncurses5

Not installing the "-dev", development or ":i386", 32-bit versions of the library.

2 of 5
0

I installed Ubuntu 18.10 desktop (Cosmic Cuttlefish) from here, but I was unable to install gcc-arm-none-eabi:

ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.10
Release:        18.10
Codename:       cosmic

ubuntu@ubuntu:~$ sudo apt-get install gcc-arm-none-eabi
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gcc-arm-none-eabi

I then installed libncurses5-dev and gcc-linaro-7.3.1-2018.05-x86_64_arm and got the same .so-related error you got.

Since I don't have this issue with 16.04 nor with 18.04, I would suggest you compile the latest GDB from source in order to avoid what may be a package/dynamic link library mismatch issue in Ubuntu 18.10:

sudo apt-get install build-essential libncurses5-dev libexpat1-dev texinfo-doc-nonfree
pushd /tmp
wget -qO- ftp://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.xz | tar Jxv
mkdir gdb
cd gdb
../gdb-8.2/configure  --enable-tui --with-expat --prefix=/usr/local  --target=arm-eabi --program-prefix=arm-eabi-
make all
sudo make  install
popd

Install will fail because makeinfo is missing, even though I installed texinfo-doc-nonfree, but binaries will be installed:

ls /usr/local/bin
arm-eabi-gdb  arm-eabi-gdb-add-index  arm-eabi-run

And arm-eabi-gdb will launch properly this time:

arm-eabi-gdb --version
GNU gdb (GDB) 8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

arm-eabi-gdb -tui will work as well - I encourage you to use the TUI mode. You should like it as much as I do - I guess.

🌐
Ubuntu
packages.ubuntu.com › xenial › gdb-arm-none-eabi
Ubuntu – Error
two or more packages specified (gdb-arm-none-eabi xenial) Content Copyright © 2025 Canonical Ltd.; See license terms. Ubuntu is a trademark of Canonical Ltd. Learn more about this site.
🌐
Apache
mynewt.apache.org › latest › get_started › native_install › cross_tools.html
Installing the Cross Tools for ARM — Apache Mynewt latest documentation
$ ls -al /usr/local/bin/arm-none-eabi-gdb lrwxr-xr-x 1 aditihilbert admin 69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -> /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb · Note: If no version is specified, brew will install the latest version available. On a Debian-based Linux distribution, gcc 4.9.3 for ARM can be installed with apt-get as documented below. The steps are explained in depth at https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa.
🌐
Arm Community
community.arm.com › support-forums › f › compilers-and-libraries-forum › 53996 › arm-gnu-toolchain-12-2-rel1-x86_64-arm-none-eabi-gdb-fails-on-ubuntu-22-04
arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi gdb ...
December 22, 2022 - Have a question about working on Arm technology? Browse our support forums for solutions to your questions, answer questions from fellow community members and get help from Arm experts.
🌐
GitHub
gist.github.com › a8d07431968d8a8d789db7c5e61714e6
How to use arm-none-eabi-gdb with OpenOCD on ubuntu · GitHub
How to use arm-none-eabi-gdb with OpenOCD on ubuntu. After installation you need to generate 2 .gdbinit files. One will be placed at /home directory (usually requires root access) and other one in project folder.
🌐
Javaer101
javaer101.com › en › article › 77901568.html
How to install arm-none-eabi-gdb on Ubuntu 20.04 LTS (Focal Fossa) - Javaer101
arm-none-eabi-gcc --version arm-none-eabi-g++ --version arm-none-eabi-gdb --version arm-none-eabi-size --version