gnomexml.cpp is written expecting libxml2. If libxml2 is present but libxml is placed before it on the include path, the code will fail to compile but the reason is not clear. This occurred to me setting up an Ant build since when I was trying to resolve unsatisified includes in gnomexml.cpp I placed /usr/include/gnome-xml on the include path (seemed reasonable at the time) not /usr/include/libxml2. The fix was to check the value of LIBXML_VERSION in gnomexml.h and raise a compile error if the version number is less than 20000. The surround comments describe the issue and its resolution.