How to install arm-none-eabi-gdb on Ubuntu 20.04 LTS (Focal Fossa)
Solution 1
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
Solution 2
The answer from Aleksander solved 99 percent of my issues, however after running make I got one error arm-none-eabi-objcopy : command not found. So I had do make one more symlink to get the files generated.
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy
I tried to add this as comment to the answer but I don't have enough points to do that.
Aleksander Khoroshko
Updated on September 18, 2022Comments
-
Aleksander Khoroshko over 1 year
I tried to install arm-none-eabi-gdb as a part of gcc-arm-embedded. I added PPA:
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
and executed:
sudo apt install gcc-arm-embedded
It responded with:
Err:8 http://ppa.launchpad.net/team-gcc-arm-embedded/ppa/ubuntu focal Release 404 Not Found [IP: 91.189.95.83 80]
As far as I understand - gcc-arm-embedded doesn't have a version for Ubuntu 20. So I've changed release version for this PPA in Software & Updates to bionic so that I can avoid error 404.
Even though ubuntu 20 has libisl22, now I have unmet dependencies when I try to install gcc-arm-embedded:
The following packages have unmet dependencies: gcc-arm-embedded : Depends: libisl15 (>= 0.15) but it is not installable E: Unable to correct problems, you have held broken packages.
I was unable to find a way to install requested version of libisl, as apt offers only two versions - libisl22 and libisl-dev and both are not accepted by installer.
I need advice on how to install arm-none-eabi-gdb. Thank you!
-
Admin almost 4 yearsNot really. I've found out, that there is a version for focal on launchpad: launchpad.net/ubuntu/focal/+source/gcc-arm-none-eabi But I have no idea why ppa doesn't give access to it.
-
Admin almost 4 years@AleksanderKhoroshko Although they have package for focal but they do miss the folder in dists and release file. Release file contains the path of the deb in the pool which is to be fetched when requested. Neither they uploaded the package in pool of archives. You may consider contacting the PPA maintainer regarding the same.
-
Admin almost 4 years@Kulfy thank you for your effort! It turned out that PPA maintainer decided to deprecate this PPA (it is in the notes on their website), so now non-PPA way of installation is the only way to go. I've made an answer below with instructions.
-
-
SusanW over 3 years@AleksanderKhoroshko OMG, we've been unwittingly using old tools for ages. Thank you thank you! Bit evil of ARM to leave the old stuff up there... hmm. Ok, I've just raised a flag to say your question should be reopened, because the listed alternative qqs are nothing to do with this specific problem.
-
MianQi over 3 yearsI tried this package"gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2", needn't manually create symbolic links, the result for "Check if it works: " was OK.
-
lmat - Reinstate Monica over 3 yearsHow do I use the ubuntu AUR?
-
debuti almost 3 yearsInstead of the symlinks for libncurses you can directly install it
sudo apt install libncurses5
-
CivMeierFan almost 3 yearsI suggest symlinking everything in the bin folder --
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/* /usr/bin/
-
Nonny Moose about 2 yearsWelcome to Ask Ubuntu! I've gone ahead and added your suggestion to the answer you referred to. Please do not leave comments in answers. Instead, you can post answers that do not require clarification from the question author, or, if you have a suggestion, edit the post to incorporate your suggestion.