--On 25. Juli 2011 19:57:40 +0200 Florian Pflug <fgp@phlo.org> wrote:
> I got a theory. We do distinguish between libxml2 versions for which
> the structured and the generic error context handler share the error
> context (older ones), and those with don't (newer ones). Our configure
> scripts checks for the availability of xmlStructuredErrorContext, and
> defined HAVE_XMLSTRUCTUREDERRORCONTEXT if it is. Now, if for some reason
> that test fails on your machine, even though libxml *does* provide
> xmlStructuredErrorContext, then the safety-check in the error handler
> would check whether xmlGenericErrorContext is set as expected, when
> it really should check xmlStructuredErrorContext.
>
> Could you check if configure defines that macro? You should find
> it in the pg_config.h generated by configure.
This is what pg_config.h says:
% grep HAVE_XMLSTRUCTUREDERRORCONTEXT src/include/pg_config.h
/* #undef HAVE_XMLSTRUCTUREDERRORCONTEXT */
Ah, but i got now what's wrong here: configure is confusing both libxml2
installations, and a quick look into config.log proves that: it uses the
xml2-config from the OSX libs (my $PATH has /usr in front of the bindir of
MacPorts, though i seem to recall to have changed this in the past....).
So, all i need to do is
XML2_CONFIG=/opt/local/bin/xml2-config ./configure --with-libxml
--with-includes=/opt/local/include/ --with-libraries=/opt/local/lib
and everything is smooth:
% grep HAVE_XMLSTRUCTUREDERRORCONTEXT src/include/pg_config.h#define
HAVE_XMLSTRUCTUREDERRORCONTEXT 1
Regression tests passes now. This was too obvious...
--
Thanks
Bernd