#66197 closed defect (wontfix)
defect: arm-none-eabi-gdb won't install on arm64 Macs
Reported by: | the80srobot (Adam Sindelar) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | upstream | Cc: | judaew (Vadym-Valdis Yudaiev) |
Port: | arm-none-eabi-gdb |
Description
Installing arm-none-eabi-gdb
on an M1 Mac doesn't get past the dependency check. It looks to me like the port insists on being x86_64
, as do some other ports (see below). The problem is, one of the port's dependencies insists on being arm64
?
This definitely seems like a bug - I promise I didn't do anything weird.
> sudo port -v install arm-none-eabi-gdb --helpport clean ---> Computing dependencies for arm-none-eabi-gdb. Error: Cannot install arm-none-eabi-gdb for the arch 'x86_64' because Error: its dependency arm-none-eabi-gcc does not build for the required arch by default Error: and does not have a universal variant. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port arm-none-eabi-gdb failed
build_arch
is set:
> grep build_arch /opt/local/etc/macports/macports.conf #build_arch x86_64 build_arch arm64
System is arm64
:
> uname -a Darwin vroom.fritz.box 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000 arm64
Other ports correctly install as arm64, except some weirdo ports:
> file /opt/local/bin/* | perl -pe 's/^.*:\s+//' | sort | uniq -c 2 - Mach-O 64-bit executable arm64] 2 - Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64 1 Bourne-Again shell script text executable, ASCII text 424 Mach-O 64-bit executable arm64 27 Mach-O 64-bit executable x86_64 69 POSIX shell script text executable, ASCII text 1 POSIX shell script text executable, ASCII text, with very long lines (318), with escape sequences 1 POSIX shell script text executable, ASCII text, with very long lines (399) 1 POSIX shell script text executable, ASCII text, with very long lines (492) 1 POSIX shell script text executable, ASCII text, with very long lines (593) 1 POSIX shell script text executable, ASCII text, with very long lines (818) 1 POSIX shell script text executable, ASCII text, with very long lines (887) 1 POSIX shell script text executable, Unicode text, UTF-8 text 37 Perl script text executable 1 Perl5 module source text, ASCII text 1 Python script text executable, ASCII text 2 [x86_64:Mach-O 64-bit executable x86_64 24 [x86_64:Mach-O 64-bit executable x86_64Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64Mach-O 64-bit executable arm64] 1 a /usr/bin/env /opt/local/bin/python3.10 script text executable, ASCII text 1 a /usr/bin/env sh script text executable, ASCII text, with escape sequences 8 a /opt/local/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 script text executable, ASCII text 21 a /opt/local/bin/perl5.28 script text executable, ASCII text 21 a /opt/local/bin/perl5.34 script text executable, ASCII text 3 a /opt/local/bin/python3.10 script text executable, ASCII text 4 a /opt/local/libexec/macports/bin/tclsh8.6 script text executable, ASCII text 3 a /usr/bin/env /opt/local/bin/python3.10 script text executable, ASCII text 1 a /usr/bin/env wish script text executable, ISO-8859 text 1 setgid Mach-O 64-bit executable arm64 4 setuid Mach-O 64-bit executable arm64 3 setuid, setgid Mach-O 64-bit executable arm64
What are those weirdo ports you ask?
> file /opt/local/bin/* | grep x86_64 | grep -vi arm64 /opt/local/bin/captoinfo (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/clear (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/daemondo: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64 /opt/local/bin/daemondo (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/envsubst (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/gettext (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/ggdb: Mach-O 64-bit executable x86_64 /opt/local/bin/iconv (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/infocmp (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/infotocap (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/lzcat (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/lzma (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/lzmadec (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/lzmainfo (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/ngettext (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/port-tclsh: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64 /opt/local/bin/port-tclsh (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/reset (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/tabs (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/tic (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/toe (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/tput (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/tset (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/unlzma (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/unxz (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/xmlwf (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/xz (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/xzcat (for architecture x86_64): Mach-O 64-bit executable x86_64 /opt/local/bin/xzdec (for architecture x86_64): Mach-O 64-bit executable x86_64
Change History (3)
comment:1 Changed 2 years ago by the80srobot (Adam Sindelar)
comment:2 Changed 2 years ago by jmroot (Joshua Root)
Cc: | judaew added |
---|---|
Keywords: | upstream added |
Resolution: | → wontfix |
Status: | new → closed |
Right, so this is more of a "can't fix" than a "won't fix".
The cross gdb ports set their allowed architectures accordingly: https://github.com/macports/macports-ports/blob/master/_resources/port1.0/group/crossgdb-1.0.tcl#L122-L123
comment:3 Changed 2 years ago by Vadym-Valdis Yudaiev <judaew@…>
Note: See
TracTickets for help on using
tickets.
GDB doesn't support arm64 (https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/)
Oops and sorry, please feel free to close without elaborating.