Thread: --disable-shared is entirely broken these days
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
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
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.
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
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
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. +
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
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
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. +
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