Go Down

Topic: IDE v1.6.5 incompatible with boards v1.6.9, -> core.a no such file or directory (Read 14536 times) previous topic - next topic

DrAzzy

After updating the standard Arduino AVR Boards (via board manager), v1.6.5 can no longer compile for the standard boards.

At issue is the change from {build.path}/{archive_file} to {archive_file_path} in platform.txt - since {archive_file_path} doesn't exist in 1.6.5, the compiler dies with

Arduino: 1.6.5 (Windows 8.1), Board: "Arduino/Genuino Uno"

Build options changed, rebuilding all

(snip)

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-g++ -c -g -Os -Wall -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\a2\AppData\Roaming\Arduino15\packages\arduino\hardware\avr\1.6.9\cores\arduino -IC:\Users\a2\AppData\Roaming\Arduino15\packages\arduino\hardware\avr\1.6.9\variants\standard C:\Users\a2\AppData\Roaming\Arduino15\packages\arduino\hardware\avr\1.6.9\cores\arduino\WString.cpp -o C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\WString.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\wiring_pulse.S.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\hooks.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\WInterrupts.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\wiring.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\wiring_analog.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\wiring_digital.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\wiring_pulse.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\wiring_shift.c.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\abi.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\CDC.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\HardwareSerial.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\HardwareSerial0.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\HardwareSerial1.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\HardwareSerial2.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\HardwareSerial3.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\IPAddress.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\main.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\new.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\PluggableUSB.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\Print.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\Stream.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\Tone.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\USBCore.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\WMath.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-ar rcs {archive_file_path} C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\WString.cpp.o

C:\arduino-1.6.5-r2\hardware\tools\avr/bin/avr-gcc -Wall -Os -Wl,--gc-sections -mmcu=atmega328p -o C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp/BareMinimum.cpp.elf C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp\BareMinimum.cpp.o C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp/core.a -LC:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp -lm

avr-gcc: error: C:\Users\a2\AppData\Local\Temp\build859542859958490258.tmp/core.a: No such file or directory
Error compiling.

 This report would have more information with
 "Show verbose output during compilation"
 enabled in File > Preferences.


I've seen several people on the forums complaining about this issue here.
ATTinyCore for x4/x5/x61/x7/x8/x41/1634/828/x313 megaTinyCore for the megaavr ATtinies - Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

pert

The solution is:
  • Tools > Board > Boards Manager...
  • Wait for downloads to finish.
  • Click on Arduino AVR Boards
  • Select Version 1.6.8
  • Click Install

I have reported the issue here: https://github.com/arduino/Arduino/issues/4114

DrAzzy

Of course - I'm mostly trying to get the word out by posting this, since I'm sure others are tripping over this!
ATTinyCore for x4/x5/x61/x7/x8/x41/1634/828/x313 megaTinyCore for the megaavr ATtinies - Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

pert

Great idea to post a warning. I tried to help one user with this problem yesterday and the only solution we came up with was to upgrade to 1.6.6. It wasn't until I ran into that stray {archive_file_path} in your platform.txt today and got the same error message that I realized what the problem was!

pert

Arduino SAM Boards 1.6.6 is also incompatible with all Arduino IDE versions previous to 1.6.6 for the same reason.

zoomx

I got the same error and I had the same suspect.
Thanks for sharing this!

AndreK

boards 1.6.10 have been released a while ago,  and the problem/bug from boards 1.6.9 remains...
anyone knows if it's reported as a bug yet ?

pert

#7
Mar 21, 2016, 10:01 pm Last Edit: Mar 21, 2016, 11:06 pm by pert Reason: The fix was 2 lines, not 3
I reported it 3.5 months ago https://github.com/arduino/Arduino/issues/4114 and it was completely ignored. As well as being incompatible with Arduino IDE 1.6.5 and previous, Arduino AVR Boards 1.6.10 also breaks backwards compatibility with Arduino IDE 1.6.6, which the developers are aware of and apparently just don't care. The worst thing is that I, a complete amateur, was able to easily fix the backwards incompatibility by adding only 2 lines to platform.txt. The IDE is getting so buggy it's sad. The whole point of Arduino is beginner friendliness but it's getting so that you have to be an expert in the inner workings of the IDE just to make it work. Boards Manager is an excellent feature in theory but apparently the Arduino developers are incapable of considering the impacts of their changes on anyone not using the latest IDE version. The extreme buggyness of the last 3 IDE versions have guaranteed that there are a lot of users who won't want to update.

AndreK

So the message they are sending is
"avoid upgrading if offered upgrades" 
and
"do not go for the new boards, to avoid mess with your older devices/applications that need older IDE"
?

zoomx

I simply believe that the new cores don't work with the IDE 1.6.5. If you want to use the new cores you have to use the new IDE.

pert

I simply believe that the new cores don't work with the IDE 1.6.5. If you want to use the new cores you have to use the new IDE.
The problem is that Boards Manager doesn't tell you that. There's a big "Update" button and it's reasonable to expect that clicking that button would be a good thing, but in the world of Arduino it means you just broke your IDE. It's even worse with Arduino IDE 1.6.6 where you get constant pop up notifications telling you to update to the incompatible version. The issue described here could have been easily avoided by the developers, see https://github.com/arduino/Arduino/pull/4737. There will probably be other changes later that will not be so easy to make backwards compatible and that's why the developers should have added dependency checking for the IDE version to Boards Manager before ever releasing that feature.

AndreK

I simply believe that the new cores don't work with the IDE 1.6.5. If you want to use the new cores you have to use the new IDE.
Yes, the truth is that I rely on both 1.6.5.r4 and 1.6.7  - the first one for older projects with alternative Serial libraries, that won't compile due to changes after 1.6.5r4   - and the later for newer stuff.

So the conclusion is that I rely too much on Arduino.

zoomx


Go Up