Right before uploading a sketch, I got a popup message about updating the board library.
After that happened, the prior board support folder vanished and was replaced by :
/packages/arduino/hardware/avr/1.8.7
I can't find the prior folder in the trash, it just got removed.
Since then I can't get ANY sketch to compile (Nano , Uno , doesn't matter) and they all give an error of:
"no executable specified
Compilation error: no executable specified"
Further, the boards menu changed, it used to just show the list, now it shows "Arduino AVR in Sketchbook" which I've never seen before.
This is just extremely weird and no amount of googling has ANY information on this "no executable specified" error popping up.
HELP please.
I also have a recent Mac and IDE 2.3.7. I just tried to compile Blink and there were no problems. as you can see I am also on 1.8.7
This is what I see.
That sketchbook thing is special.
Have you looked at your Board Manager, make sure 1.8.7 is actually installed. If it is restart the IDE, sometimes it needs a kick.
Yeah I get this:
I just noticed now the entire programmer menu has vanished completely.
Not sure exactly why. It also trashed my boards.text file, which I'd modded to add support for bootloader mods to push the ATMega328P boot loader on to generic nanos, both with and without the fuse DE updates.
My mods to the programmers were pretty generic, although I ddid have to move a copy of the optiboot_atmega328.hex to the atmega folder under 1.8.6. I've replicated that and still no go, and reverting to the stock boards.txt file doesn't change anything either, the programmer menu is still gone and the boards menu still has the "(in sketchbook" thing.
My boards.text file changes were super simple, and just made it easier to burn the boot loader to other generic boards with the old boot loader.
I was doing that because the old boot loaders watchdog timers were killing me and causing both my apps to randomly lock up and go into endless loops.
## --------------------------
nano.menu.cpu.atmega328=ATmega328P
## nano.menu.cpu.atmega328.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_size=32256
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.speed=115200
nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
## nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDE
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
nano.menu.cpu.atmega328.build.mcu=atmega328p
## Arduino Nano w/ ATmega328P (old bootloader)
## --------------------------
nano.menu.cpu.atmega328old=ATmega328P (Old Bootloader)
nano.menu.cpu.atmega328old.upload.maximum_size=30720
nano.menu.cpu.atmega328old.upload.maximum_data_size=2048
nano.menu.cpu.atmega328old.upload.speed=57600
nano.menu.cpu.atmega328old.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328old.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
nano.menu.cpu.atmega328old.build.mcu=atmega328p
## Arduino Nano w/ ATmega328P (Old Bootloader Optiboot Burn)
## --------------------------
nano.menu.cpu.atmega328oopti=ATmega328P (Old Bootloader Optiboot Burn)
nano.menu.cpu.atmega328oopti.upload.maximum_size=30720
nano.menu.cpu.atmega328oopti.upload.maximum_data_size=2048
nano.menu.cpu.atmega328oopti.upload.speed=57600
nano.menu.cpu.atmega328oopti.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328oopti.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328oopti.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328oopti.bootloader.file=atmega/optiboot_atmega328.hex
nano.menu.cpu.atmega328oopti.build.mcu=atmega328p
## Arduino Nano w/ ATmega328P (Old Bootloader Optiboot Burn Fuse)
## --------------------------
nano.menu.cpu.atmega328oopti=ATmega328P (Old Bootloader Optiboot Burn Fuse)
nano.menu.cpu.atmega328ooptif.upload.maximum_size=32256
nano.menu.cpu.atmega328ooptif.upload.maximum_data_size=2048
nano.menu.cpu.atmega328ooptif.upload.speed=57600
nano.menu.cpu.atmega328ooptif.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328ooptif.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328ooptif.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328ooptif.bootloader.file=atmega/optiboot_atmega328.hex
nano.menu.cpu.atmega328ooptif.build.mcu=atmega328p
I suggest that you downgrade the board package to 1.8.6 using the board manager, check if it works as expected and next upgrade again to 1.8.7 (if you have the need).
PS
1.8.7 is not yet available where I live (silly CDN I assume) and I don't feel like manually installing it so I can't test.
If you want to try to force the update, you can run the "Arduino: Update Package Index" command:
- Press the Ctrl+Shift+P keyboard shortcut (Command+Shift+P for macOS users) to open the "Command Palette".
A menu will appear on the editor toolbar.
- Select the "Arduino: Update Package Index" command from the menu.
A notification will appear showing an index download process.
- Wait for the notification to disappear.