Skip to content

Can't compile on MacOS Sonoma (Apple Silicon M1) from Homebrew #552

@erosinnocenti

Description

@erosinnocenti

Hello,
thanks to everyone for this great project.
I tried to install simavr on my Macbook Pro M1 Max (Sonoma 14.7.2) using brew install --HEAD simavr but unfortunately I got this compile error.
Am I missing something?
Thanks!

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C simavr RELEASE=0
/Applications/Xcode.app/Contents/Developer/usr/bin/make obj config
make[2]: Nothing to be done for `obj'.
make[2]: Nothing to be done for `config'.
/Applications/Xcode.app/Contents/Developer/usr/bin/make libsimavr run_avr
make[2]: Nothing to be done for `libsimavr'.
LD obj-arm64-apple-darwin23.6.0/run_avr.elf
ld: warning: ignoring duplicate libraries: '-lelf', '-lm', '-lsimavr'
ld: warning: search path '/usr/local/opt/[email protected]/lib' not found
ld: warning: search path '/usr/local/opt/avr-gcc@12/lib' not found
ln -sf obj-arm64-apple-darwin23.6.0/run_avr.elf run_avr
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C tests RELEASE=0
AVR-CC atmega328pb_jsys.c
/opt/homebrew/bin/avr-gcc -Wall -gdwarf-2 -Os -std=gnu99 \
			-mmcu=atmega328pb \
			-DF_CPU=8000000 \
			-fno-inline-small-functions \
			-ffunction-sections -fdata-sections \
			-Wl,--relax,--gc-sections \
			-Wl,--undefined=_mmcu,--section-start=.mmcu=0x910000 \
			-I../simavr/sim/avr -I../simavr/sim/avr -I../../simavr/sim/avr \
			atmega328pb_jsys.c -o atmega328pb_jsys.axf
In file included from atmega328pb_jsys.c:10:
/opt/homebrew/Cellar/avr-gcc@9/9.4.0_1/avr/include/avr/io.h:581:6: warning: #warning "device type not defined" [-Wcpp]
  581 | #    warning "device type not defined"
      |      ^~~~~~~
In file included from atmega328pb_jsys.c:12:
/opt/homebrew/Cellar/avr-gcc@9/9.4.0_1/avr/include/avr/sleep.h:234:6: error: #error "No SLEEP mode defined for this device."
  234 |     #error "No SLEEP mode defined for this device."
      |      ^~~~~
atmega328pb_jsys.c: In function 'main':
atmega328pb_jsys.c:23:2: error: 'TCCR0A' undeclared (first use in this function)
   23 |  TCCR0A |= (1 << WGM01);                   // Configure timer 0 for CTC mode
      |  ^~~~~~
atmega328pb_jsys.c:23:2: note: each undeclared identifier is reported only once for each function it appears in
atmega328pb_jsys.c:23:18: error: 'WGM01' undeclared (first use in this function)
   23 |  TCCR0A |= (1 << WGM01);                   // Configure timer 0 for CTC mode
      |                  ^~~~~
atmega328pb_jsys.c:24:2: error: 'OCR0A' undeclared (first use in this function)
   24 |  OCR0A   = 0xAA;                           // CTC compare value
      |  ^~~~~
atmega328pb_jsys.c:26:2: error: 'TCCR0B' undeclared (first use in this function)
   26 |  TCCR0B |= (1 << CS00) | (1 << CS01);      // Start timer: clk/64
      |  ^~~~~~
atmega328pb_jsys.c:26:18: error: 'CS00' undeclared (first use in this function)
   26 |  TCCR0B |= (1 << CS00) | (1 << CS01);      // Start timer: clk/64
      |                  ^~~~
atmega328pb_jsys.c:26:32: error: 'CS01' undeclared (first use in this function)
   26 |  TCCR0B |= (1 << CS00) | (1 << CS01);      // Start timer: clk/64
      |                                ^~~~
atmega328pb_jsys.c:30:11: error: 'TIFR0' undeclared (first use in this function)
   30 |   while ((TIFR0 & (1 << OCF0A)) == 0) {
      |           ^~~~~
atmega328pb_jsys.c:30:25: error: 'OCF0A' undeclared (first use in this function)
   30 |   while ((TIFR0 & (1 << OCF0A)) == 0) {
      |                         ^~~~~
make[1]: *** [atmega328pb_jsys.axf] Error 1
make: *** [build-tests] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions