Thread: --disable-shared is entirely broken these days

--disable-shared is entirely broken these days

From
Tom Lane
Date:
A gripe today in pgsql-novice made me realize that configure's
--disable-shared option has been useless since 9.0, because it prevents
plpgsql.so from being built, which causes initdb to fail now that
plpgsql is installed "by default" --- which actually seems to mean
"you don't have any choice about whether to install it".

So, a few questions:

1. Should we honor the promise implicit in the "by default" wording
that there should be a way to initdb without plpgsql?

2. Seeing that this is the first complaint since 9.0, should we decide
that --disable-shared is no longer worth supporting?  Seems like we
should either make this case work or remove this switch.  I notice
that the switch isn't documented anywhere in the SGML docs, either.
If we do keep it, we'd better document that it results in a severely
crippled version of Postgres.
        regards, tom lane


Re: --disable-shared is entirely broken these days

From
Daniel Farina
Date:
On Sat, May 26, 2012 at 12:53 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 2. Seeing that this is the first complaint since 9.0, should we decide
> that --disable-shared is no longer worth supporting?  Seems like we
> should either make this case work or remove this switch.  I notice
> that the switch isn't documented anywhere in the SGML docs, either.
> If we do keep it, we'd better document that it results in a severely
> crippled version of Postgres.

I can't really imagine the reasons to support this switch at this
time.  Compile times are fast, disk space cheap, and if one wanted to
avoid the dynamic linker entirely and use features like replication
(which, IIRC, is dynamically linked for libpqwalreceiver.so) and
plpgsql then people are out of luck without some work of (perhaps?)
questionable value.

--
fdr


Re: --disable-shared is entirely broken these days

From
Peter Eisentraut
Date:
On lör, 2012-05-26 at 15:53 -0400, Tom Lane wrote:
> 2. Seeing that this is the first complaint since 9.0, should we decide
> that --disable-shared is no longer worth supporting?  Seems like we
> should either make this case work or remove this switch.

I think the last remaining use was the QNX port, which didn't support
shared libraries.

We should just remove it now.



Re: --disable-shared is entirely broken these days

From
Bruce Momjian
Date:
On Mon, May 28, 2012 at 02:27:15AM +0300, Peter Eisentraut wrote:
> On lör, 2012-05-26 at 15:53 -0400, Tom Lane wrote:
> > 2. Seeing that this is the first complaint since 9.0, should we decide
> > that --disable-shared is no longer worth supporting?  Seems like we
> > should either make this case work or remove this switch.
>
> I think the last remaining use was the QNX port, which didn't support
> shared libraries.
>
> We should just remove it now.

--disable-shared removed, with the attached, applied patch.

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

  + It's impossible for everything to be true. +

Attachment

Re: --disable-shared is entirely broken these days

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> On Mon, May 28, 2012 at 02:27:15AM +0300, Peter Eisentraut wrote:
>> We should just remove it now.

> --disable-shared removed, with the attached, applied patch.

No documentation changes?
        regards, tom lane



Re: --disable-shared is entirely broken these days

From
Bruce Momjian
Date:
On Thu, Aug 30, 2012 at 04:50:22PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > On Mon, May 28, 2012 at 02:27:15AM +0300, Peter Eisentraut wrote:
> >> We should just remove it now.
> 
> > --disable-shared removed, with the attached, applied patch.
> 
> No documentation changes?

I couldn't find any place we document it.  I did:
grep _shared *.sgml

and no hits were returned.  Should I search for something else?

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



Re: --disable-shared is entirely broken these days

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> On Thu, Aug 30, 2012 at 04:50:22PM -0400, Tom Lane wrote:
>> No documentation changes?

> I couldn't find any place we document it.  I did:
>     grep _shared *.sgml
> and no hits were returned.  Should I search for something else?

It's --enable-shared, not --enable_shared.  I see at least one hit, in
installation.sgml.
        regards, tom lane



Re: --disable-shared is entirely broken these days

From
Bruce Momjian
Date:
On Thu, Aug 30, 2012 at 04:57:30PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > On Thu, Aug 30, 2012 at 04:50:22PM -0400, Tom Lane wrote:
> >> No documentation changes?
>
> > I couldn't find any place we document it.  I did:
> >     grep _shared *.sgml
> > and no hits were returned.  Should I search for something else?
>
> It's --enable-shared, not --enable_shared.  I see at least one hit, in
> installation.sgml.

Oh, got -/_ mixed up. Fixed with attached applied patch.

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

  + It's impossible for everything to be true. +

Attachment

Re: --disable-shared is entirely broken these days

From
Bruce Momjian
Date:
On Thu, Aug 30, 2012 at 05:01:39PM -0400, Bruce Momjian wrote:
> On Thu, Aug 30, 2012 at 04:57:30PM -0400, Tom Lane wrote:
> > Bruce Momjian <bruce@momjian.us> writes:
> > > On Thu, Aug 30, 2012 at 04:50:22PM -0400, Tom Lane wrote:
> > >> No documentation changes?
> > 
> > > I couldn't find any place we document it.  I did:
> > >     grep _shared *.sgml
> > > and no hits were returned.  Should I search for something else?
> > 
> > It's --enable-shared, not --enable_shared.  I see at least one hit, in
> > installation.sgml.
> 
> Oh, got -/_ mixed up. Fixed with attached applied patch.

Oops, that text is talking about Python's configure, so I put the text
back.  Seemed we had _no_ mention of our own --enable-shared.

---------------------------------------------------------------------------


> 
> -- 
>   Bruce Momjian  <bruce@momjian.us>        http://momjian.us
>   EnterpriseDB                             http://enterprisedb.com
> 
>   + It's impossible for everything to be true. +

> diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
> new file mode 100644
> index c02ed87..81cd550
> *** a/doc/src/sgml/installation.sgml
> --- b/doc/src/sgml/installation.sgml
> *************** su - postgres
> *** 234,241 ****
>        </para>
>   
>        <para>
> !       If you have problems, run <productname>Python</> 2.3 or later's
> !       configure using the <literal>--enable-shared</> flag.  On some
>         operating systems you don't have to build a shared library, but
>         you will have to convince the <productname>PostgreSQL</> build
>         system of this.  Consult the <filename>Makefile</filename> in
> --- 234,240 ----
>        </para>
>   
>        <para>
> !       On some
>         operating systems you don't have to build a shared library, but
>         you will have to convince the <productname>PostgreSQL</> build
>         system of this.  Consult the <filename>Makefile</filename> in

> 
> -- 
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers


--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



Re: --disable-shared is entirely broken these days

From
Tom Lane
Date:
Bruce Momjian <bruce@momjian.us> writes:
> On Thu, Aug 30, 2012 at 05:01:39PM -0400, Bruce Momjian wrote:
>> Oh, got -/_ mixed up. Fixed with attached applied patch.

> Oops, that text is talking about Python's configure, so I put the text
> back.  Seemed we had _no_ mention of our own --enable-shared.

Yeah, I just realized the same.  Apparently the configure script's
--help output was indeed the only documentation.
        regards, tom lane