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.
🌐
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
🌐
MacPorts
ports.macports.org › port › arm-none-eabi-gdb
Install arm-none-eabi-gdb on macOS with MacPorts
To install arm-none-eabi-gdb, run the following command in macOS terminal (Applications->Utilities->Terminal)
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)

🌐
Homebrew
formulae.brew.sh › formula › arm-none-eabi-gdb
arm-none-eabi-gdb — Homebrew Formulae
brew install arm-none-eabi-gdb · GNU debugger for arm-none-eabi cross development · https://www.gnu.org/software/gdb/ License: GPL-3.0-or-later · Development: Pull requests · Formula JSON API: /api/formula/arm-none-eabi-gdb.json · Formula ...
🌐
Reddit
reddit.com › r/arm › help getting arm-none-eabi-gdb to work on fedora 35
r/arm on Reddit: Help Getting arm-none-eabi-gdb to Work on Fedora 35
December 31, 2021 -

I am tried installing the arm embedded tool-chain and I am struggling to get arm-none-eabi-gdb to work. So far, the following commands are functioning for me: arm-none-eabi-gcc, arm-none-eabi-g++, and arm-none-eabi-size.

When I run arm-none-eabi-gcc ect. I get these results.

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824 (release)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

These results are what I'm trying to achieve for arm-none-eabi-gdb -- which results in:

$ arm-none-eabi-gdb --version
arm-none-eabi-gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

These are the steps I took to install the arm embedded tool chain:

  1. Downloaded gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

  2. Extracted the tar.bz2 by double clicking in the file system.

  3. Moved the gcc-arm folder containing arm-none-eabi, bin, lib, and share using: $ sudo mv gcc-arm-none-eabi-10.3-2021.10/* /opt/gcc-arm

  4. Added the following path variable to .bashrc export PATH="/opt/gcc-arm/bin/:$PATH"

Any and all help is appreciated in helping me to get arm-none-eabi-gdb working.

This is my first post here, so I apologize if I am breaking any rules. I am also fairly new to Linux, so please correct me if I use any terminology incorrectly.

Find elsewhere
🌐
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 ...
🌐
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 - Then after more some searching I found the solution is easy: just download and install this package from Xenial (Ubuntu 16.04) : https://packages.ubuntu.com/xenial/gdb-arm-none-eabihttps://packages.ubuntu.com/xenial/libreadline6 $ sudo dpkg…
🌐
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 it asks for another version/library ... package, which is why I am being intentionally vague). I had to install libncursesw5-dev . 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 ...
🌐
Raspberry Pi Forums
forums.raspberrypi.com › board index › hardware and peripherals › raspberry pi pico › sdk
missing arm-none-eabi-gdb - Raspberry Pi Forums
January 30, 2021 - If the comment about "this **may** need to be arm-none-eabi-gdb" hadn't been in launch.json or the note in the documentation "You **may** have to amend the gdbPath in launch.json ..." had been a little clearer on why you may need to do this, I probably wouldn't have gone down that path. But it now works and i'm grateful for your confirmation - thanks PS the O/S is Raspbian Buster latest download from the last 24 hours. ... Sat Jan 30, 2021 12:14 pm Use gdb-multiarch Thanks for the report. AIUI, gdb-multiarch is the direction the GDB devs are moving, away from specific architecture builds.
🌐
Arch Linux
archlinux.org › packages › extra › x86_64 › arm-none-eabi-gdb
Arch Linux - arm-none-eabi-gdb 17.1-1 (x86_64)
gdb-common · guile · libelf · mpfr · ncurses · python · source-highlight · xz · stlink (optional) - for debugging over STLINK · boost (make) View the file list for arm-none-eabi-gdb · View the soname list for arm-none-eabi-gdb · Copyright © 2002-2026 Judd Vinet, Aaron Griffin and ...
🌐
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.
🌐
HatchJS
hatchjs.com › home › arm none-eabi gdb: a comprehensive guide
ARM none-eabi GDB: A Comprehensive Guide
December 25, 2023 - You can add the following lines to the `gdbinit` file to configure ARM none-eabi GDB: set architecture arm set arm-none-eabi-gcc gcc-arm-none-eabi-7-2017-q4-major · The first line sets the architecture to ARM. The second line sets the compiler to `gcc-arm-none-eabi-7-2017-q4-major`. Now that you have installed and configured ARM none-eabi GDB, you can launch it.
🌐
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.
🌐
MSYS2
packages.msys2.org › packages › mingw-w64-x86_64-arm-none-eabi-gdb
Virtual Package: mingw-w64-x86_64-arm-none-eabi-gdb - MSYS2 Packages
Installation: pacman -S mingw-w64-x86_64-arm-none-eabi-gdb 📋 · Provided By: mingw-w64-x86_64-gdb-multiarch ·
🌐
Command Not Found
command-not-found.com › arm-none-eabi-gdb
command-not-found.com – arm-none-eabi-gdb
Install arm-none-eabi-gdb command on any operating system and in Docker.