with apologies to Bertrand Russell
What confuses me about a 35 year old programming language today? Include paths. Specifically, why does the order in which I specify paths to headers matter, since the header only exists in one of those paths? Why does the GCC preprocessor fail if it can't locate one header in the first path specified, without continuing to look in the other paths I so helpfully provided?
Yep, shuffling my -I declarations around on the compile line made it work. I discovered this after comparing the output from the Makefile from that of Module::Build (and you probably don't want to know what kind of evilness I do there to give different options to different XS files; but it's Perl and I know how to make that work).