Why I don't update

Since my first steps in the Arduino world two years ago, I was the happy user of IDE 1.6.6. Never updated any boards or libraries; I usually install libraries manually and never had an issue.

Because local include directories (mysketch->src->myLib) only seemed to work partially (builder did not move cpp files to temporary build directory resulting in a link error), I decided to update the boards.

The result:

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\sterretje\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\sterretje\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\sterretje\Documents\Arduino\libraries" -fqbn=arduino:avr:leonardo -vid-pid=0X2341_0X8036 -ide-version=10606 -build-path "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\sterretje\Documents\Arduino\sketch_nov14a\sketch_nov14a.ino"
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\sterretje\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\sterretje\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\sterretje\Documents\Arduino\libraries" -fqbn=arduino:avr:leonardo -vid-pid=0X2341_0X8036 -ide-version=10606 -build-path "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\sterretje\Documents\Arduino\sketch_nov14a\sketch_nov14a.ino"
"C:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -M -MG -MP -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Leonardo"' "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\leonardo" "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp\sketch\sketch_nov14a.ino.cpp"
"C:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -M -MG -MP -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Leonardo"' "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\leonardo" "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp\sketch\sketch_nov14a.ino.cpp"
"C:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -M -MG -MP -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Leonardo"' "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\leonardo" "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp\sketch\sketch_nov14a.ino.cpp"
"C:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -M -MG -MP -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Leonardo"' "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\leonardo" "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp\sketch\sketch_nov14a.ino.cpp"
"C:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -M -MG -MP -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Leonardo"' "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\leonardo" "C:\Users\WIMSTU~1\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp\sketch\sketch_nov14a.ino.cpp"
"C:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Leonardo"' "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino" "-IC:\Users\sterretje\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\variants\leonardo" "C:\Users\sterretje\AppData\Local\Temp\buildb608ecb7416cce26d26552e4a6d6f5a7.tmp\sketch\sketch_nov14a.ino.cpp" -o ""
avr-g++: error: missing filename after '-o'

exit status 1
Error compiling.

Tried both Uno and Leonardo, sketch I was working on as well as blink and empty sketch.

:( :( :(

I did not even research how to roll back or if it's a known issue, just decided to install 1.8.5 and it works again.

Welcome to a new era, sterretje :D

Yeah, they didn't really think enough about making new versions of the boards packages compatible with old versions of the IDE. Before Boards Manager that wasn't an issue but if they're going to pop up a notification in the IDE telling you to update to the new boards then they definitely need to make sure it's not going to break things when you do it. I did do a couple of things to try to fix that and I don't know of any backwards compatibilities going forward and hopefully the developers will consider that in their future work. Sometimes you just have to break backwards compatibility to move forward but that should definitely be well documented and in this case the fixes were actually really simple.

I hope you will enjoy 1.8.5. I really didn't like 1.6.6 so I'm surprised you were happy with that particular version so long.

pert: Yeah, they didn't really think enough about making new versions of the boards packages compatible with old versions of the IDE. Before Boards Manager that wasn't an issue but if they're going to pop up a notification in the IDE telling you to update to the new boards then they definitely need to make sure it's not going to break things when you do it. I did do a couple of things to try to fix that and I don't know of any backwards compatibilities going forward and hopefully the developers will consider that in their future work. Sometimes you just have to break backwards compatibility to move forward but that should definitely be well documented and in this case the fixes were actually really simple.

I did a little research afterwards and found your name in the first thread that I opened ;)

pert: I hope you will enjoy 1.8.5. I really didn't like 1.6.6 so I'm surprised you were happy with that particular version so long.

If you don't know what you miss, you can be happy forever with what you have :D I'm not somebody that upgrades software for the sake of 'the latest and the greatest' but was considering it due to the local include issue.

Anyway, I quickly checked the local include directory sketch that I have and that now works ;) Any idea (from memory, no need for research) in which IDE version it was fixed?

It was 1.6.10 when they added that feature. I think the first release with it you could use any folder, not just src and then that caused some problems so they restricted it to the src subfolder only. So I don't know which of those releases 1.6.10 was, maybe the non-restrictive version was 1.6.9 or maybe it was 1.6.10 and the src restriction was added in 1.6.11.

I run "portable" installs, which means separate copies of everything. That way my old code doesn't break, the new code gets the latest version of everything, and if I need to I can compare and figure out what is different...

I must read up on the exact details of that; I know it exists. Afterwards I did find an unzipped version of 1.6.6 and that was still happily working.

It has a pretty decent write-up: https://www.arduino.cc/en/Guide/PortableIDE

Thanks.