Thread: Re: [HACKERS] Unclarity of configure options

Re: [HACKERS] Unclarity of configure options

From
Bruce Momjian
Date:
Nikolay Samokhvalov wrote:
> The current (CVS version) configure script has the following options
> (among many others):
>
>   --enable-dtrace         build with DTrace support
>   --with-ossp-uuid        build with OSSP UUID library for UUID generation
>   --with-libxml           build with XML support
>   --with-libxslt          build with XSLT support
>
> One could think that adding any of this option to ./configure before
> building Postgres from sources, he will have corresponding support
> after installation and initdb process. But what we have now is the
> huge difference between "--with-libxml" and "--with-libxslt": while
> the first one adds XML support to the core, the second one doesn't
> provide anything automatically, it allows only using contirb/xml2
> (what is unclear because the help message is the same as for
> --with-libxml -- "build with ... support").

I have modified the configure message to be:

    --with-libxslt          build /contrib/xml2 with XSLT support

Patch attached.

> Also, comparing --enable-dtrace and --with-libxml I cannot see any
> difference in its semantics: --enable-dtrace also depends on external
> library and configure process fails if the system doesn't have it. So
> why "--enable-" is used in the first case and "--with-" in the second
> one?

I think the reason for this is because XML is seen as something added to
the backend (new capability) while dtrace is embedded in the backend.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.566
diff -c -c -r1.566 configure
*** configure    29 Oct 2007 11:25:42 -0000    1.566
--- configure    4 Nov 2007 17:52:55 -0000
***************
*** 898,904 ****
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
    --with-ossp-uuid        build with OSSP UUID library for UUID generation
    --with-libxml           build with XML support
!   --with-libxslt          build with XSLT support
    --with-system-tzdata=DIR  use system time zone data in DIR
    --without-zlib          do not use Zlib
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
--- 898,904 ----
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
    --with-ossp-uuid        build with OSSP UUID library for UUID generation
    --with-libxml           build with XML support
!   --with-libxslt          build /contrib/xml2 with XSLT support
    --with-system-tzdata=DIR  use system time zone data in DIR
    --without-zlib          do not use Zlib
    --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.532
diff -c -c -r1.532 configure.in
*** configure.in    29 Oct 2007 11:25:42 -0000    1.532
--- configure.in    4 Nov 2007 17:52:55 -0000
***************
*** 600,607 ****
  #
  # XSLT
  #
! PGAC_ARG_BOOL(with, libxslt, no, [  --with-libxslt          build with XSLT support],
!               [AC_DEFINE([USE_LIBXSLT], 1, [Define to 1 to build with XSLT support. (--with-libxslt)])])


  AC_SUBST(with_libxslt)
--- 600,607 ----
  #
  # XSLT
  #
! PGAC_ARG_BOOL(with, libxslt, no, [  --with-libxslt          build /contrib/xml2 with XSLT support],
!               [AC_DEFINE([USE_LIBXSLT], 1, [Define to 1 to build /contrib/xml2 with XSLT support.
(--with-libxslt)])])


  AC_SUBST(with_libxslt)
Index: doc/src/sgml/installation.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
retrieving revision 1.294
diff -c -c -r1.294 installation.sgml
*** doc/src/sgml/installation.sgml    6 Oct 2007 15:50:43 -0000    1.294
--- doc/src/sgml/installation.sgml    4 Nov 2007 17:52:56 -0000
***************
*** 973,981 ****
         <term><option>--with-libxslt</option></term>
         <listitem>
          <para>
!          Build with libxslt. The <filename>contrib/xml2</> module
!          relies on this library to perform Stylesheet transformations of
!          XML.
          </para>
         </listitem>
        </varlistentry>
--- 973,981 ----
         <term><option>--with-libxslt</option></term>
         <listitem>
          <para>
!          Build <filename>/contrib/xml2</> with libxslt.
!          <filename>/contrib/xml2</> relies on this library to perform
!          Stylesheet transformations of XML.
          </para>
         </listitem>
        </varlistentry>

Re: [HACKERS] Unclarity of configure options

From
"Joshua D. Drake"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 4 Nov 2007 13:11:00 -0500 (EST)
Bruce Momjian <bruce@momjian.us> wrote:

> Nikolay Samokhvalov wrote:
> > The current (CVS version) configure script has the following options
> > (among many others):
> > 
> >   --enable-dtrace         build with DTrace support
> >   --with-ossp-uuid        build with OSSP UUID library for UUID
> > generation --with-libxml           build with XML support
> >   --with-libxslt          build with XSLT support
> > 
> > One could think that adding any of this option to ./configure before
> > building Postgres from sources, he will have corresponding support
> > after installation and initdb process. But what we have now is the
> > huge difference between "--with-libxml" and "--with-libxslt": while
> > the first one adds XML support to the core, the second one doesn't
> > provide anything automatically, it allows only using contirb/xml2
> > (what is unclear because the help message is the same as for
> > --with-libxml -- "build with ... support").
> 
> I have modified the configure message to be:
> 
>     --with-libxslt          build /contrib/xml2 with XSLT support
> 
> Patch attached.

Shouldn't --with-libxml be noted as deprecated?

Joshua D. Drake





- -- 

      === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564   24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997  http://www.commandprompt.com/
            UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLgwBATb/zqfZUUQRAsLYAJ9xIrfHnidg0BPW6durNvl61VVT8wCfdY4i
kKSUyVxwaFazYlcY7SCkiCY=
=A8DO
-----END PGP SIGNATURE-----

Re: [HACKERS] Unclarity of configure options

From
Tom Lane
Date:
"Joshua D. Drake" <jd@commandprompt.com> writes:
> Shouldn't --with-libxml be noted as deprecated?

Huh?

            regards, tom lane

Re: [HACKERS] Unclarity of configure options

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> I have modified the configure message to be:
>     --with-libxslt          build /contrib/xml2 with XSLT support

This turns the message from something merely a tad unclear into an
outright lie.  "--with-libxslt" does not cause contrib/xml2 (or any
other part of contrib) to get built.  Better would be

    --with-libxslt          build with XSLT (affects only contrib/xml2)

            regards, tom lane

Re: [HACKERS] Unclarity of configure options

From
Bruce Momjian
Date:
Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > I have modified the configure message to be:
> >     --with-libxslt          build /contrib/xml2 with XSLT support
>
> This turns the message from something merely a tad unclear into an
> outright lie.  "--with-libxslt" does not cause contrib/xml2 (or any
> other part of contrib) to get built.  Better would be
>
>     --with-libxslt          build with XSLT (affects only contrib/xml2)

Updated wording:

    --with-libxslt          use XSLT support when building /contrib/xml2

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: [HACKERS] Unclarity of configure options

From
"Joshua D. Drake"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 04 Nov 2007 13:24:54 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:

> "Joshua D. Drake" <jd@commandprompt.com> writes:
> > Shouldn't --with-libxml be noted as deprecated?
> 
> Huh?

Because in 8.3 it is in core or am I misunderstanding the difference?

Joshua D. Drake

> 
>             regards, tom lane
> 
> ---------------------------(end of
> broadcast)--------------------------- TIP 1: if posting/reading
> through Usenet, please send an appropriate subscribe-nomail command
> to majordomo@postgresql.org so that your message can get through to
> the mailing list cleanly
> 


- -- 

      === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564   24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997  http://www.commandprompt.com/
            UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLhmXATb/zqfZUUQRAuBJAJ9jFV8DaxWzWJKhjIPTkeXZ1OWRVQCfTaiV
5ytxcL5Q+Xc3tEAxoj7bbPY=
=tLkt
-----END PGP SIGNATURE-----

Re: [HACKERS] Unclarity of configure options

From
Stefan Kaltenbrunner
Date:
Joshua D. Drake wrote:
> On Sun, 04 Nov 2007 13:24:54 -0500
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
>> "Joshua D. Drake" <jd@commandprompt.com> writes:
>>> Shouldn't --with-libxml be noted as deprecated?
>> Huh?
>
> Because in 8.3 it is in core or am I misunderstanding the difference?

you missunderstand - the XML support in 8.3 requires libxml and is only
compiled in if that configure switch is selected ...


Stefan

Re: [HACKERS] Unclarity of configure options

From
Bruce Momjian
Date:
Joshua D. Drake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Sun, 04 Nov 2007 13:24:54 -0500
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> > "Joshua D. Drake" <jd@commandprompt.com> writes:
> > > Shouldn't --with-libxml be noted as deprecated?
> >
> > Huh?
>
> Because in 8.3 it is in core or am I misunderstanding the difference?

The functionality is in 8.3 and we areC keeping the /contrib/xml2 API
around for those who need it.  The release notes have:

     * "contrib/xml2" is deprecated and planned for removal in 8.4 (Peter)
       The new XML support in core Postgres supersedes this module.

Do we need more than that?  I don't think so.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: [HACKERS] Unclarity of configure options

From
Bruce Momjian
Date:
Stefan Kaltenbrunner wrote:
> Joshua D. Drake wrote:
> > On Sun, 04 Nov 2007 13:24:54 -0500
> > Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >
> >> "Joshua D. Drake" <jd@commandprompt.com> writes:
> >>> Shouldn't --with-libxml be noted as deprecated?
> >> Huh?
> >
> > Because in 8.3 it is in core or am I misunderstanding the difference?
>
> you missunderstand - the XML support in 8.3 requires libxml and is only
> compiled in if that configure switch is selected ...

Right, that too.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: [HACKERS] Unclarity of configure options

From
"Joshua D. Drake"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 4 Nov 2007 14:17:48 -0500 (EST)
Bruce Momjian <bruce@momjian.us> wrote:

 
> The functionality is in 8.3 and we areC keeping the /contrib/xml2 API
> around for those who need it.  The release notes have:
> 
>      * "contrib/xml2" is deprecated and planned for removal in 8.4
> (Peter) The new XML support in core Postgres supersedes this module.
> 
> Do we need more than that?  I don't think so.

Well that was exactly my point, contrib/xml2 is deprecated as of 8.3 so
it may make sense to make sure the configure says exactly that.

If not, it isn't that big of a deal. I was just making a suggestion to
try and help stop confusion in the future.

Sincerely,

Joshua D. Drake


- -- 

      === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564   24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997  http://www.commandprompt.com/
            UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLhz1ATb/zqfZUUQRAmBcAJ9ToftpalD9kH5x+Vwy+SVHn6qB8ACbBB4d
D+lV9utI9iNhlK7F0qjhFMk=
=uovh
-----END PGP SIGNATURE-----

Re: [HACKERS] Unclarity of configure options

From
"Joshua D. Drake"
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 4 Nov 2007 14:18:23 -0500 (EST)
Bruce Momjian <bruce@momjian.us> wrote:

> Stefan Kaltenbrunner wrote:
> > Joshua D. Drake wrote:
> > > On Sun, 04 Nov 2007 13:24:54 -0500
> > > Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > > 
> > >> "Joshua D. Drake" <jd@commandprompt.com> writes:
> > >>> Shouldn't --with-libxml be noted as deprecated?
> > >> Huh?
> > > 
> > > Because in 8.3 it is in core or am I misunderstanding the
> > > difference?
> > 
> > you missunderstand - the XML support in 8.3 requires libxml and is
> > only compiled in if that configure switch is selected ...
> 
> Right, that too.

Aha! O.k. that is what I missed. Suggestion withdrawn.

Sincerely,

Joshua D. Drake 


- -- 

      === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564   24x7/Emergency: +1.800.492.2240
PostgreSQL solutions since 1997  http://www.commandprompt.com/
            UNIQUE NOT NULL
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL Replication: http://www.commandprompt.com/products/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLh0oATb/zqfZUUQRAhVEAJ4nW8AS+gR7EOKl4UY4e7NCc/hFHACgmtpU
brAYEQ+UhIMBWL9wxQFM+CA=
=B7xe
-----END PGP SIGNATURE-----

Re: [HACKERS] Unclarity of configure options

From
Andrew Dunstan
Date:

Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
>
>> I have modified the configure message to be:
>>     --with-libxslt          build /contrib/xml2 with XSLT support
>>
>
> This turns the message from something merely a tad unclear into an
> outright lie.  "--with-libxslt" does not cause contrib/xml2 (or any
> other part of contrib) to get built.  Better would be
>
>     --with-libxslt          build with XSLT (affects only contrib/xml2)
>
>
>

What is more, if we're going to do this we should mark *all* the options
that only affect contrib, which is why I objected to doing this on its
own in the first place.

cheers

andrew

Re: [HACKERS] Unclarity of configure options

From
Bruce Momjian
Date:
Andrew Dunstan wrote:
>
>
> Tom Lane wrote:
> > Bruce Momjian <bruce@momjian.us> writes:
> >
> >> I have modified the configure message to be:
> >>     --with-libxslt          build /contrib/xml2 with XSLT support
> >>
> >
> > This turns the message from something merely a tad unclear into an
> > outright lie.  "--with-libxslt" does not cause contrib/xml2 (or any
> > other part of contrib) to get built.  Better would be
> >
> >     --with-libxslt          build with XSLT (affects only contrib/xml2)
> >
> >
> >
>
> What is more, if we're going to do this we should mark *all* the options
> that only affect contrib, which is why I objected to doing this on its
> own in the first place.

Uh, what other configure options to we have that only affect /contrib?

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: [HACKERS] Unclarity of configure options

From
Andrew Dunstan
Date:

Bruce Momjian wrote:
> Andrew Dunstan wrote:
>
>> Tom Lane wrote:
>>
>>> Bruce Momjian <bruce@momjian.us> writes:
>>>
>>>
>>>> I have modified the configure message to be:
>>>>     --with-libxslt          build /contrib/xml2 with XSLT support
>>>>
>>>>
>>> This turns the message from something merely a tad unclear into an
>>> outright lie.  "--with-libxslt" does not cause contrib/xml2 (or any
>>> other part of contrib) to get built.  Better would be
>>>
>>>     --with-libxslt          build with XSLT (affects only contrib/xml2)
>>>
>>>
>>>
>>>
>> What is more, if we're going to do this we should mark *all* the options
>> that only affect contrib, which is why I objected to doing this on its
>> own in the first place.
>>
>
> Uh, what other configure options to we have that only affect /contrib?
>
>

--with-ossp-uuid at least, IIRC

This was discussed previously, BTW. Maybe you haven't read all the mail.

Note that

cheers

andrew



Re: [HACKERS] Unclarity of configure options

From
Bruce Momjian
Date:
Andrew Dunstan wrote:
>
>
> Bruce Momjian wrote:
> > Andrew Dunstan wrote:
> >
> >> Tom Lane wrote:
> >>
> >>> Bruce Momjian <bruce@momjian.us> writes:
> >>>
> >>>
> >>>> I have modified the configure message to be:
> >>>>     --with-libxslt          build /contrib/xml2 with XSLT support
> >>>>
> >>>>
> >>> This turns the message from something merely a tad unclear into an
> >>> outright lie.  "--with-libxslt" does not cause contrib/xml2 (or any
> >>> other part of contrib) to get built.  Better would be
> >>>
> >>>     --with-libxslt          build with XSLT (affects only contrib/xml2)
> >>>
> >>>
> >>>
> >>>
> >> What is more, if we're going to do this we should mark *all* the options
> >> that only affect contrib, which is why I objected to doing this on its
> >> own in the first place.
> >>
> >
> > Uh, what other configure options to we have that only affect /contrib?
> >
> >
>
> --with-ossp-uuid at least, IIRC
>
> This was discussed previously, BTW. Maybe you haven't read all the mail.

Sorry, no I missed that.  Patch attached and applied.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: configure
===================================================================
RCS file: /cvsroot/pgsql/configure,v
retrieving revision 1.568
diff -c -c -r1.568 configure
*** configure    4 Nov 2007 18:53:39 -0000    1.568
--- configure    5 Nov 2007 17:42:10 -0000
***************
*** 896,902 ****
    --with-openssl          build with OpenSSL support
    --without-readline      do not use GNU Readline nor BSD Libedit for editing
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
!   --with-ossp-uuid        build with OSSP UUID library for UUID generation
    --with-libxml           build with XML support
    --with-libxslt          use XSLT support when building /contrib/xml2
    --with-system-tzdata=DIR  use system time zone data in DIR
--- 896,902 ----
    --with-openssl          build with OpenSSL support
    --without-readline      do not use GNU Readline nor BSD Libedit for editing
    --with-libedit-preferred  prefer BSD Libedit over GNU Readline
!   --with-ossp-uuid        use OSSP UUID library when building /contrib/uuid-ossp
    --with-libxml           build with XML support
    --with-libxslt          use XSLT support when building /contrib/xml2
    --with-system-tzdata=DIR  use system time zone data in DIR
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.534
diff -c -c -r1.534 configure.in
*** configure.in    4 Nov 2007 18:53:39 -0000    1.534
--- configure.in    5 Nov 2007 17:42:11 -0000
***************
*** 569,575 ****
  #
  # OSSP UUID library
  #
! PGAC_ARG_BOOL(with, ossp-uuid, no, [  --with-ossp-uuid        build with OSSP UUID library for UUID generation])
  AC_SUBST(with_ossp_uuid)


--- 569,575 ----
  #
  # OSSP UUID library
  #
! PGAC_ARG_BOOL(with, ossp-uuid, no, [  --with-ossp-uuid        use OSSP UUID library when building /contrib/uuid-ossp
])
  AC_SUBST(with_ossp_uuid)


Index: doc/src/sgml/installation.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v
retrieving revision 1.296
diff -c -c -r1.296 installation.sgml
*** doc/src/sgml/installation.sgml    4 Nov 2007 18:53:39 -0000    1.296
--- doc/src/sgml/installation.sgml    5 Nov 2007 17:42:11 -0000
***************
*** 937,947 ****
         <term><option>--with-ossp-uuid</option></term>
         <listitem>
          <para>
!          Build with the <ulink
!          url="http://www.ossp.org/pkg/lib/uuid/">OSSP UUID
!          library</ulink>.  This is necessary for the contrib module
!          <literal>uuid-ossp</literal> which provides functions to
!          generate UUIDs.<indexterm><primary>UUID</primary></indexterm>
          </para>
         </listitem>
        </varlistentry>
--- 937,946 ----
         <term><option>--with-ossp-uuid</option></term>
         <listitem>
          <para>
!          Use the <ulink url="http://www.ossp.org/pkg/lib/uuid/">OSSP UUID
!          library</ulink> when building <filename>/contrib/uuid-ossp</>.
!          The library provides functions to generate
!          UUIDs.<indexterm><primary>UUID</primary></indexterm>
          </para>
         </listitem>
        </varlistentry>
Index: src/include/pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql/src/include/pg_config.h.in,v
retrieving revision 1.125
diff -c -c -r1.125 pg_config.h.in
*** src/include/pg_config.h.in    29 Oct 2007 11:25:42 -0000    1.125
--- src/include/pg_config.h.in    5 Nov 2007 17:42:12 -0000
***************
*** 672,678 ****
  /* Define to 1 to build with XML support. (--with-libxml) */
  #undef USE_LIBXML

! /* Define to 1 to build with XSLT support. (--with-libxslt) */
  #undef USE_LIBXSLT

  /* Define to select named POSIX semaphores. */
--- 672,679 ----
  /* Define to 1 to build with XML support. (--with-libxml) */
  #undef USE_LIBXML

! /* Define to 1 to use XSLT support when building /contrib/xml2.
!    (--with-libxslt) */
  #undef USE_LIBXSLT

  /* Define to select named POSIX semaphores. */