homebrew-avr: Linker fails on avr-gcc 8.4 & 9.3

After updating to 8.4, avr-ld produces this error:

 | 
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find crtatmega32u4.o: No such file or directory
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find -latmega32u4
 | collect2: error: ld returned 1 exit status
 | 

and when building for AT90USB1286:

 | 
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find crtat90usb1286.o: No such file or directory
 | /usr/local/opt/avr-binutils/bin/avr-ld: skipping incompatible /usr/local/Cellar/avr-gcc@8/8.4.0/lib/avr-gcc/8/gcc/avr/8.4.0/../../../../../../avr/lib/libm.a when searching for -lm
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find -lm
 | /usr/local/opt/avr-binutils/bin/avr-ld: skipping incompatible /usr/local/Cellar/avr-gcc@8/8.4.0/lib/avr-gcc/8/gcc/avr/8.4.0/libgcc.a when searching for -lgcc
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find -lgcc
 | /usr/local/opt/avr-binutils/bin/avr-ld: skipping incompatible /usr/local/Cellar/avr-gcc@8/8.4.0/lib/avr-gcc/8/gcc/avr/8.4.0/../../../../../../avr/lib/libm.a when searching for -lm
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find -lm
 | /usr/local/opt/avr-binutils/bin/avr-ld: skipping incompatible /usr/local/Cellar/avr-gcc@8/8.4.0/lib/avr-gcc/8/gcc/avr/8.4.0/../../../../../../avr/lib/libc.a when searching for -lc
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find -lc
 | /usr/local/opt/avr-binutils/bin/avr-ld: cannot find -lat90usb1286
 | collect2: error: ld returned 1 exit status
 | 

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 1
  • Comments: 18 (9 by maintainers)

Commits related to this issue

Most upvoted comments

I’ve found the issue, it was the --disable-multilib option. I’ll push a fix asap.

This is fixed! 🎉 you can brew remove and brew install avr-gcc@8 again 😃

yes, sorry for that! while working on the new bottle system, I took the opportunity to update the formula and follow what brew/core does. That’s how I reintroduced the multilib thing…

it will soon be fixed.

Yes, you cannot have two different versions of gcc linked at the same time.

avr-gcc will by default me linked and available in path. If you want another version linked, you must unlink the main one and manually link a @x version.

Yes, I’ve got the same issue, I’m investigating.