Re: Another issue with invalid XML values

Поиск
Список
Период
Сортировка
От Florian Pflug
Тема Re: Another issue with invalid XML values
Дата
Msg-id 295E18AE-F6E5-4C86-BA50-85CAB696CAF9@phlo.org
обсуждение исходный текст
Ответ на Re: Another issue with invalid XML values  (Bernd Helmle <mailings@oopsware.de>)
Ответы Re: Another issue with invalid XML values
Список pgsql-hackers
On Jul25, 2011, at 19:37 , Bernd Helmle wrote:
> --On 25. Juli 2011 19:07:50 +0200 Florian Pflug <fgp@phlo.org> wrote:
>> Hm, I have libxml2 2.7.8, installed via Mac Ports, and I cannot reproduce
>> this. Maybe Mac Ports uses a modified libxml2, though. I'll check that.
>>
>> Where did you obtain libxml2 from?
>
> This is MacPorts, too:
>
> % port installed libxml2
> The following ports are currently installed:
> libxml2 @2.7.8_0 (active)

'bout the same here:

$ port installed libxml2
The following ports are currently installed: libxml2 @2.7.8_0+universal (active)

> I've reduced my configure line to the least required options
>
> ./configure --with-libxml --with-includes=/opt/local/include --with-libraries=/opt/local/lib
>
> but still get the WARNINGs in the regression.diffs.

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.

> Which settings do you use?

configure \--prefix=/Users/fgp/Installs/pg.master.max.noassert.O1 \--with-includes=/opt/local/include
\--with-libraries=/opt/local/lib\--enable-debug \--enable-depend \--enable-thread-safety \--with-pgport=54320
\--without-tcl\--with-perl \--with-python \--without-gssapi \--without-krb5 \--without-pam \--without-ldap
\--without-bonjour\--without-openssl \--without-ossp-uuid \--with-libxml \--with-libxslt CFLAGS="-pipe -O1 -g" 

I also checked with otool -L that it really uses the libxml from /opt.

$ otool -L .//src/test/regress/tmp_check/install/Users/fgp/Installs/pg.master.max.noassert.O1/bin/postgres

.//src/test/regress/tmp_check/install/Users/fgp/Installs/pg.master.max.noassert.O1/bin/postgres:/opt/local/lib/libxml2.2.dylib
(compatibilityversion 10.0.0, current version 10.8.0)/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version125.2.11) 

Despite the file name, that should be libxml 2.7.8. Here's the output of
xml2-config

$ /opt/local/bin/xml2-config --version
2.7.8

And there's no other libxml2 in /opt.

best regards,
Florian Pflug



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Problem with pg_upgrade's directory write check on Windows
Следующее
От: Jeff Davis
Дата:
Сообщение: Re: Deferred partial/expression unique constraints