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
Answer from Aleksander Khoroshko on askubuntu.com
🌐
Arm Developer
developer.arm.com › downloads › - › gnu-rm
Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer
This will prevent GCC from cloning such functions. Release notes for **************************************************** GNU Arm Embedded Toolchain 2020-q2-update **************************************************** This release includes bare metal pre-built binaries for AArch32 EABI targets, which can be hosted on: * Windows 10 or later on 32/64-bit architecture * Linux - on AArch64 (RHEL 7, Ubuntu 14.04 or later) - on x86_64 (RHEL 7, Ubuntu 16.04 or later) * Mac OS X 10.14 or later on 64-bit architecture For Windows, the binaries are provided with an installer and as a zip file.
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)

🌐
Super User
superuser.com › questions › 1180903 › errors-with-arm-none-eabi-gcc-on-windows-10-bash
Errors with arm-none-eabi-gcc on Windows 10 Bash - Super User
February 20, 2017 - add-apt-repository ppa:terry.guo/gcc-arm-embedded sudo apt-get update apt-get install gcc-arm-none-eabi=4.9.3.2015q3-1trusty1
🌐
Ubuntu
packages.ubuntu.com › jammy › gcc-arm-none-eabi
Ubuntu – Details of package gcc-arm-none-eabi in jammy
Download Source Package gcc-arm-none-eabi: [gcc-arm-none-eabi_10.3-2021.07-4.dsc] [gcc-arm-none-eabi_10.3-2021.07.orig.tar.bz2] [gcc-arm-none-eabi_10.3-2021.07-4.debian.tar.xz] Maintainer: Ubuntu MOTU Developers (Mail Archive) · Please consider filing a bug or asking a question via Launchpad ...
🌐
Apache
mynewt.apache.org › latest › get_started › native_install › cross_tools.html
Installing the Cross Tools for ARM — Apache Mynewt latest documentation
$ sudo apt-get remove ... apt-get install gcc-arm-none-eabi $ sudo apt-get install gdb-arm-none-eabi · Download and run the installer to install arm-none-eabi-gcc and arm-none-eabi-gdb....
Find elsewhere
🌐
Arm Developer
developer.arm.com › downloads › - › arm-gnu-toolchain-downloads
Arm GNU Toolchain Downloads – Arm Developer
$ arm-none-eabi-gcc -mcpu=cortex-a53 -mfloat-abi=hard -mthumb · Example with MVE and floating-point with soft-float ABI: $ arm-none-eabi-gcc -mcpu=cortex-m55 -mfloat-abi=softfp
🌐
Ubuntu
packages.ubuntu.com › bionic › devel › gcc-arm-none-eabi
Ubuntu – Error
two or more packages specified (gcc-arm-none-eabi bionic) Content Copyright © 2025 Canonical Ltd.; See license terms. Ubuntu is a trademark of Canonical Ltd. Learn more about this site.
🌐
Ubuntu
launchpad.net › ubuntu › focal › +package › gcc-arm-none-eabi
gcc-arm-none-eabi : Focal (20.04) : Ubuntu - Launchpad
gcc-arm-none-eabi 15:9-2019-q4-0ubuntu1 in ppc64el (Release) gcc-arm-none-eabi 15:9-2019-q4-0ubuntu1 in riscv64 (Release)
🌐
Ubuntu
launchpad.net › ubuntu › jammy › +package › gcc-arm-none-eabi
gcc-arm-none-eabi : Jammy (22.04) : Ubuntu
gcc-arm-none-eabi 15:10.3-2021.07-4 in ppc64el (Release) gcc-arm-none-eabi 15:10.3-2021.07-4 in riscv64 (Proposed)
🌐
Ubuntu
launchpad.net › ubuntu › +source › gcc-arm-none-eabi › 15:10.3-2021.07-1
15:10.3-2021.07-1 : gcc-arm-none-eabi package : Ubuntu
November 17, 2021 - gcc-arm-none-eabi-source: GCC cross compiler for ARM Cortex-R/M processors (source)
🌐
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 - System: Kernel: 6.0.0-1007-oem ... python3.10 client inxi: 3.3.13 I tried the following method from this link: https://askubuntu.com/questions/1243252 ... ocal-fossa. Here, Nonny Moose provided an answer which seems to work for many users. 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-n...
🌐
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
Download and run the installer to install arm-none-eabi-gcc and arm-none-eabi-gdb. Select the default destination folder: C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major.
🌐
Arm Learning
learn.arm.com › install-guides › gcc › arm-gnu
Arm GNU Toolchain | Arm Learning Paths
msiexec /i arm-gnu-toolchain-<version>-mingw-w64-i686-arm-none-eabi.msi EULA=1 /quiet · The zip package is a backup to Windows installer for those who cannot run the installer.