I finally got the sensebender gateway to compile again after spending hours installing, uninstalling, deleteing various versions of the arduino IDE, mysensors board definitions, sam and samd board definitions and more. Every combo I could think of to make it work by itself until I gave up and forced a fix that works currently for me, but will break should the path to the sam.d files change.
issue is in platform.txt for the mysensors samd hardware line is:
compiler.arm.cmsis.c.flags="-I{runtime.tools.CMSIS-4.5.0.path}\CMSIS\Include" "-I{runtime.tools.CMSIS-Atmel-1.1.0.path}\CMSIS\Device\ATMEL"
The {runtime.tools.CMSIS-Atmel-1.1.0.path} variable returns "" so the problem I see is that there is no version 1.1.0 used by the arduino IDE or latest board definitions or even older versions. I have not seen it even once through all that reinstalls of the IDE and board definitons. It has always been 1.0.0 on when running the arduino IDE on any update under windows. After many hours I finally realized to just change platform.txt's compiler.arm.cmsis.c.flags to be:
compiler.arm.cmsis.c.flags="-I{runtime.tools.CMSIS-4.5.0.path}\CMSIS\Include" "-I{runtime.tools.CMSIS-Atmel-1.0.0.path}\CMSIS\Device\ATMEL"
And bingo, compiles flawlessly and I can move on with life.
Not sure why downgrading the board definitions didn't fix it as it was only broken in 1.0.5, using 1.0.4 should have worked. Just searched for when it was changed on github and found:
https://github.com/mysensors/ArduinoHwSAMD/commit/8130671dc3e04ad9f37f817bbc14fce733e36556
that commit is where it gets changed to 1.1.0 and that one little change of a single character is what broke it for me on every device I tried. Not sure when 1.1.0 gets installed as even my fresh install now with everything updated to the newest available versions, only has 1.0.0
Back to finally compiling for the multiple gateways I have after wasting too many hours on this. I even setup a virtual machine just to test if it was something with my windows install. It wasn't.
--edit--
Just want to say sorry for putting this under bug reports. It wasn't until shortly after I posted dawned on me to check further into when the 1.1.0 cmsis includes were added to the arduino ide and then realized it was the samd versions after 1.6.11 which made me realize the old advice of sticking with 1.6.11 was only applicable if you were using the sensebender board files 1.0.4 or earlier. I'd been working off the old advice of sticking with 1.6.11 but did not realize that 1.0.5 requires you use samd board versions higher than 1.6.11--the inverse of the old requirements.
However there was still some other weirdness at play because I had tested so many situations that should have worked, but failed due to oversights on my part (wtf does the IR library have to do with compiling the sensebender sketch?), the Arduino ide not reflecting the library versions installed correctly (If I remove the library, how does it appear back with a different version after restarting the IDE), or other weirdness that added to my confusion. The only advice I had seen, and that others reported worked, was reinstalling the IDE but in my case, it was no help and I even went as far as starting from scratch in a virtual machine.
So maybe it needs a move from bugs to troubleshooting while I go hide in shame.