So, I download the latest version of HAL and try to compile it.
I come across the error:
create_cache.c:487: error: 'XML_ERROR_ABORTED' undeclared (first use in this function)
After looking into the problem, I discovered that I had installed expat-2.0.1, but the include/expat.h file was of version 1.95.2.
Well, this was pretty interesting because I installed everything on my system from scratch myself.
Which means one of the packages separate from expat is installing its own version over the system version!
So, onto time stamps!
Looking around at time stamps, the only packages that had identical time-stamps to the offensive expat.h's time-stamp were apr, apr-util, and neon.
I first looked for expat.h in each of their archives and did not find anything.
However, if one of these was installing expat.h, then the contents of the expat.h file should also be _somewhere_ in the source.
A quick grep for EXPAT_MAJOR_VERSION revealed that apr had its own version of expat nicely hidden under guise of: include/arch/netware/apr_arch_pre_nw.h
I haven't bothered to test the other files given that I found the offensive expat.h in the Apache Portable Runtime!
I currently have apr version 1.2.8, but still found the apr_arch_pre_nw.h file in 1.3.0 as well.
This brings into question what else APR might be installing over.