Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fedora has no package named "arm-none-eabi-gdb" #249

Closed
Qwertie- opened this issue Jun 14, 2020 · 8 comments · Fixed by #335
Closed

Fedora has no package named "arm-none-eabi-gdb" #249

Qwertie- opened this issue Jun 14, 2020 · 8 comments · Fixed by #335

Comments

@Qwertie-
Copy link

Qwertie- commented Jun 14, 2020

The install chapter for linux advises to install this package but it does not exist on fedora 32 or at least not under that name.

Some similar named packages but none look correct

================================== Name & Summary Matched: eabi ===================================
arm-none-eabi-binutils-cs.x86_64 : GNU Binutils for cross-compilation for arm-none-eabi target
arm-none-eabi-gcc-cs.x86_64 : GNU GCC for cross-compilation for arm-none-eabi target
arm-none-eabi-gcc-cs-c++.x86_64 : Cross Compiling GNU GCC targeted at arm-none-eabi
arm-none-eabi-newlib.noarch : C library intended for use on arm-none-eabi embedded systems
seabios-bin.noarch : Seabios for x86
======================================= Name Matched: eabi ========================================
seabios.noarch : Open-source legacy BIOS implementation

@adamgreig
Copy link
Member

Perhaps gdb-multiarch is available?

@Qwertie-
Copy link
Author

It is not. Is it possible that it could have been bundled in with the main gdb package? I have been following the book and I don't seem to have had any issues while not having that package.

@ryankurte
Copy link

ryankurte commented Jun 15, 2020

not at all familiar with fedora packaging but it looks like it was dropped in fedora 30 due to a failed build / missing python dependency?

https://bugzilla.redhat.com/show_bug.cgi?id=1603406

@jcrossley3
Copy link

Any suggestions for a workaround to follow the book on Fedora 30 or higher? Thanks!

@ryankurte
Copy link

ryankurte commented Aug 26, 2020

it appears arm now package arm-none-eabi-gdb in their binary distributions available here, if this works for you we could update the book to offer this alternative.

@aneonlight
Copy link

It seems that this has yet to be fixed in Fedora 35.

I can try and scrape together a pull request. Although, it would break away from the package manager so I'm unsure if a general install vs Fedora specific would be better. (I can do both, just looking for a little guidance)

@tylerferrara
Copy link

tylerferrara commented Oct 30, 2022

I've been struggling with this and found this process to be the best method forward:

Visit the download page for the latest arm-gnu-toolchain -> https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

export ARM_TOOLCHAIN="your-download-url"

# Download and extract to /opt
wget -qO- ${ARM_TOOLCHAIN} | tar xv -C /opt -J --transform 's!^[^/]*!arm-none-eabi!'

# Add binaries to path
echo 'export PATH="/opt/arm-none-eabi/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Install ncurses-libs
sudo dnf install ncurses-libs -y

# Create required libraries from latest version
sudo cp -rf /usr/lib64/libncurses.so /usr/lib64/libncurses.so.5
sudo cp -rf /usr/lib64/libncursesw.so /usr/lib64/libtinfo.so.5

Let me know if this helps anyone!

@mavjs
Copy link
Contributor

mavjs commented Nov 14, 2022

I am on Fedora 37 and just started following the book. I also noticed that arm-none-eabi-gdb has be unmaintained and thus considered dead. (Ref: https://src.fedoraproject.org/rpms/arm-none-eabi-gdb )

I have gdb version GNU gdb (GDB) Fedora Linux 12.1-6.fc37, so far I have gotten to https://docs.rust-embedded.org/book/start/hardware.html and have just used that gdb, and all the steps are working.

I took a look at gdb-multiarch PKGBUILD from ArchLinux - https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=gdb-multiarch#n27 and noticed that it has configure option of --enable-targets=all

From there, I tried to check what targets Fedora have enabled then, and noticed: --enable-targets=s390-linux-gnu,powerpc-linux-gnu,arm-linux-gnu,aarch64-linux-gnu in https://src.fedoraproject.org/rpms/gdb/blob/f37/f/gdb.spec#_645

I do not know a lot about the differences with arm-none-eabi-gdb, however, it seems to me we may not not it anymore(?) So perhaps, someone could confirm this is the case for them as well, and I could look at sending PR to fix Fedora parts of the installation steps in the book.

image

The above is running cargo run --example hello with runner = "gdb -q -x openocd.gdb" option uncommented in .cargo/config.toml

mavjs added a commit to mavjs/rust-embedded-book that referenced this issue Nov 15, 2022
- Fixes rust-embedded#249 - Fedora has no packaged named
  "`arm-none-eabi-gdb`"
- In the **Rust Embedded Discovery** book, it is noted to use `gdb`
  instead of `arm-none-eabi-gdb` as pointed out in rust-embedded/discovery#364
  that `gdb` on Fedora justworks(tm). This was fixed for _Discovery_
  book via rust-embedded/discovery#376
- Likewise, as mentioned per my comment in rust-embedded#249, on
  Fedora 37, `gdb` justworks(tm) as well.
bors bot added a commit that referenced this issue Nov 16, 2022
335: doc: Fix `arm-none-eabi-gdb` installation instruction for Fedora 27 or newer to just use `gdb` r=eldruin a=mavjs

- Fixes #249
- In the **Rust Embedded Discovery** book, it is noted to use `gdb` instead of `arm-none-eabi-gdb` as pointed out in rust-embedded/discovery#364 that `gdb` on Fedora justworks(tm). This was fixed for _Discovery_ book via rust-embedded/discovery#376
- Likewise, as mentioned per my comment in #249, on Fedora 37, `gdb` justworks(tm) as well.

Co-authored-by: Maverick Kaung <mavjs01@gmail.com>
bors bot added a commit that referenced this issue Nov 16, 2022
335: doc: Fix `arm-none-eabi-gdb` installation instruction for Fedora 27 or newer to just use `gdb` r=eldruin a=mavjs

- Fixes #249
- In the **Rust Embedded Discovery** book, it is noted to use `gdb` instead of `arm-none-eabi-gdb` as pointed out in rust-embedded/discovery#364 that `gdb` on Fedora justworks(tm). This was fixed for _Discovery_ book via rust-embedded/discovery#376
- Likewise, as mentioned per my comment in #249, on Fedora 37, `gdb` justworks(tm) as well.

Co-authored-by: Maverick Kaung <mavjs01@gmail.com>
bors bot added a commit that referenced this issue Nov 17, 2022
335: doc: Fix `arm-none-eabi-gdb` installation instruction for Fedora 27 or newer to just use `gdb` r=eldruin a=mavjs

- Fixes #249
- In the **Rust Embedded Discovery** book, it is noted to use `gdb` instead of `arm-none-eabi-gdb` as pointed out in rust-embedded/discovery#364 that `gdb` on Fedora justworks(tm). This was fixed for _Discovery_ book via rust-embedded/discovery#376
- Likewise, as mentioned per my comment in #249, on Fedora 37, `gdb` justworks(tm) as well.

Co-authored-by: Maverick Kaung <mavjs01@gmail.com>
@bors bors bot closed this as completed in cbadb08 Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants