Thread: pgsql: Move interpreter shared library detection to configure
Move interpreter shared library detection to configure For building PL/Perl, PL/Python, and PL/Tcl, we need a shared library of libperl, libpython, and libtcl, respectively. Previously, this was checked in the makefiles, skipping the PL build with a warning if no shared library was available. Now this is checked in configure, with an error if no shared library is available. The previous situation arose because in the olden days, the configure options --with-perl, --with-python, and --with-tcl controlled whether frontend interfaces for those languages would be built. The procedural languages were added later, and shared libraries were often not available in the beginning. So it was decided skip the builds of the procedural languages in those cases. The frontend interfaces have since been removed from the tree, and shared libraries are now available most of the time, so that setup makes much less sense now. Also, the new setup allows contrib modules and pgxs users to rely on the respective PLs being available based on configure flags. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/d664a10f9623fd2198b257e513bce849d439a773 Modified Files -------------- config/python.m4 | 1 - configure | 41 +++++++++++++++++++++++++++++++++++++---- configure.in | 38 +++++++++++++++++++++++++++++++++++++- src/Makefile.global.in | 3 --- src/pl/plperl/GNUmakefile | 21 --------------------- src/pl/plpython/Makefile | 32 -------------------------------- src/pl/tcl/Makefile | 26 -------------------------- 7 files changed, 74 insertions(+), 88 deletions(-)
On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> wrote: > Move interpreter shared library detection to configure > > For building PL/Perl, PL/Python, and PL/Tcl, we need a shared library of > libperl, libpython, and libtcl, respectively. Previously, this was > checked in the makefiles, skipping the PL build with a warning if no > shared library was available. Now this is checked in configure, with an > error if no shared library is available. > > The previous situation arose because in the olden days, the configure > options --with-perl, --with-python, and --with-tcl controlled whether > frontend interfaces for those languages would be built. The procedural > languages were added later, and shared libraries were often not > available in the beginning. So it was decided skip the builds of the > procedural languages in those cases. The frontend interfaces have since > been removed from the tree, and shared libraries are now available most > of the time, so that setup makes much less sense now. > > Also, the new setup allows contrib modules and pgxs users to rely on the > respective PLs being available based on configure flags. This is hurting OSX platforms at least older than 10.6 (I can get configure working on my 10.8 laptop), and OpenBSD. -- Michael
On 5/1/15 10:22 PM, Michael Paquier wrote: > On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> wrote: >> Move interpreter shared library detection to configure > This is hurting OSX platforms at least older than 10.6 (I can get > configure working on my 10.8 laptop), and OpenBSD. The OpenBSD case is intentional, because that would previously silently skip the build, which is what we wanted to get rid of. The OS X case, who knows. I have put back the explicit platform detection that was previously there to fix that.
On 05/01/2015 11:16 PM, Peter Eisentraut wrote: > On 5/1/15 10:22 PM, Michael Paquier wrote: >> On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> wrote: >>> Move interpreter shared library detection to configure >> This is hurting OSX platforms at least older than 10.6 (I can get >> configure working on my 10.8 laptop), and OpenBSD. > The OpenBSD case is intentional, because that would previously silently > skip the build, which is what we wanted to get rid of. > > The OS X case, who knows. I have put back the explicit platform > detection that was previously there to fix that. > > This has also broken frogmouth, which hitherto was happily build and running plpython. See <http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=frogmouth&dt=2015-05-02%2012%3A31%3A05> cheers andrew
On 5/2/15 11:09 AM, Andrew Dunstan wrote: > > On 05/01/2015 11:16 PM, Peter Eisentraut wrote: >> On 5/1/15 10:22 PM, Michael Paquier wrote: >>> On Sat, May 2, 2015 at 10:39 AM, Peter Eisentraut <peter_e@gmx.net> >>> wrote: >>>> Move interpreter shared library detection to configure >>> This is hurting OSX platforms at least older than 10.6 (I can get >>> configure working on my 10.8 laptop), and OpenBSD. >> The OpenBSD case is intentional, because that would previously silently >> skip the build, which is what we wanted to get rid of. >> >> The OS X case, who knows. I have put back the explicit platform >> detection that was previously there to fix that. > > This has also broken frogmouth, which hitherto was happily build and > running plpython. See > <http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=frogmouth&dt=2015-05-02%2012%3A31%3A05> That was an oversight. I have attempted a fix.
Peter Eisentraut <peter_e@gmx.net> writes: > Move interpreter shared library detection to configure BTW, the installation documentation concerning Python (installation.sgml lines 219ff) is badly in need of updates following this commit. regards, tom lane