Opened 4 years ago
Closed 16 months ago
#62719 closed defect (fixed)
arm-none-eabi-gcc fails to build on M1
Reported by: | hpux735 (William Dillon) | Owned by: | judaew (Vadym-Valdis Yudaiev) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | arm64, bigsur | Cc: | NickFabry (Nick Fabry), irdc, cooljeanius (Eric Gallager) |
Port: | arm-none-eabi-gcc |
Description
Attachments (2)
Change History (17)
Changed 4 years ago by hpux735 (William Dillon)
comment:1 follow-up: 13 Changed 4 years ago by hpux735 (William Dillon)
It looks like this might be the upstream bug?
comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Yes, that looks like the bug. A common problem with many ports on Big Sur and later. (Any software using libtool and relying on undefined symbols.) Looks like gcc went a slightly different direction with the fix from the one that we usually apply, which is the one I described in the upstream libtool bug report which the developers of libtool have yet to acknowledge.
comment:3 Changed 4 years ago by hpux735 (William Dillon)
Ah, very interesting. Thanks. Is this something that'll be blocked indefinitely until it's done upstream, or is it something that can be patched in the port files?
comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
We should update arm-none-eabi-gcc to the latest version, which is 10.3.0. Maybe that already incorporates the fix. If not, or if updating is too difficult, we can apply a patch.
Note that "we" means any interested volunteer. This port has no maintainer.
comment:5 Changed 4 years ago by hpux735 (William Dillon)
Ok, I can give it a shot. Just so long as you don't mind me asking questions on this bug if I get stuck
comment:6 Changed 4 years ago by hpux735 (William Dillon)
So I see your patch, and that makes sense. Where I'm a little stuck is that the portfiles for the cross tools are all made with that tcl script, and I'm not really familiar with how to "hook" into it. Do you have any advice?
comment:7 Changed 3 years ago by GarrettAlbright (Garrett Albright)
Bumping this because I'd like to use it, but I'm just not smart enough about how compilers work to know where to begin on patching it as was discussed above. I'll put a bounty of US$20 out there for anyone that can get this installable on the M1 before the end of May 2021.
comment:8 Changed 3 years ago by NickFabry (Nick Fabry)
Cc: | NickFabry added |
---|
comment:9 Changed 3 years ago by irdc
People doing RISC-V cross-compiles have already ran into this as well, and have found a fix: https://github.com/riscv-software-src/homebrew-riscv/issues/47#issuecomment-772306695. Note that this is said to disable pre-compiled headers and thus incurs a performance hit for those projects using these. I've attached a patch and can confirm I can build this port with the patch applied.
comment:10 Changed 3 years ago by irdc
Cc: | irdc added |
---|
comment:11 Changed 3 years ago by johankytt
Tried applying the patch by irdc. Makes no difference, still exactly the same error as in the original post. I assume "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/cross/arm-none-eabi-gcc/work/gcc-11.3.0/gcc/config.host" is the correct file to patch? grep found no other file containing the lines from the patch.
comment:12 Changed 2 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:13 Changed 2 years ago by cooljeanius (Eric Gallager)
comment:14 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to judaew |
---|---|
Status: | new → assigned |
We have successful builds of arm-none-eabi-gcc on macOS 11 and 12 on arm64 now, and the build failure on macOS 13 (which is not arm64-specific) is being tracked in #67737. So this must've gotten fixed somewhere along the way, maybe by updating to a new version. (We're currently on 13.1.0).
comment:15 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
port logs