Version 2.12.0 broke API by marking xmlError structs as const
Commit 61034116 broke the API. For example trying to build WebKit (as it is C++ does stricter type checking) breaks with the following error:
In file included from /app/webkit/WebKitBuild/GTK/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-42f7b70e-4.cpp:6:
/app/webkit/Source/WebCore/xml/XSLTProcessorLibxslt.cpp:131:9: error: no matching function for call to 'xmlSetStructuredErrorFunc'
xmlSetStructuredErrorFunc(console, XSLTProcessor::parseErrorFunc);
^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libxml2/libxml/xmlerror.h:871:5: note: candidate function not viable: no known conversion from 'void (void *, const xmlError *)' (aka 'void (void *, const _xmlError *)') to 'xmlStructuredErrorFunc' (aka 'void (*)(void *, _xmlError *)') for 2nd argument
xmlSetStructuredErrorFunc (void *ctx,
^
It might make sense to revert the commit and do a new release to amend this.
On the other hand, if the API break is intentional, please let us know and we will try to handle the difference in our end.