Ok, take me up the woods, and put me out of my misery!
There is a subfolder in the NeoMatrix lib directory called extras that contains a file called gamma.c
As there is a legitimate gamma.h in the lib build, I hadn't questioned the gamma.c file.
However, chopping through excluding each file, I isolated, that gamma,c could be excluded, and everything was fine.
Looking in the file, it is obvious there is a main() function in there!
The file clearly states
// THIS IS NOT ARDUINO CODE -- DON'T INCLUDE IN YOUR SKETCH. It's a
// command-line tool that outputs a gamma correction table to stdout;
// redirect or copy and paste the results into header file for the
// NeoMatrix library code.
So its a support tool
The Arduino IDE seems to ignore this file, however, importing the same lib into Arduino Eclipse IDE tries to roll it in, and the wrong main is run, surprised the build doesn't fail with two "main" functions though.
Anyway, you may want to look into this as an improvement to lib import to prevent this from occurring, if it can be legitimately excluded, I am not familiar with the expectation for libs...
I am smiling right now