Re: Another issue with invalid XML values
Bernd Helmle <mailings@oopsware.de>
From: Bernd Helmle <mailings@oopsware.de>
To: Florian Pflug <fgp@phlo.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Noah Misch <noah@leadboat.com>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-07-25T18:37:29Z
Lists: pgsql-hackers
--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