Thread: handling contrib directories as modules not shared libraries

handling contrib directories as modules not shared libraries

From
brook@biology.nmsu.edu (Brook Milligan)
Date:
It seems that src/Makefile.shlib has special cases for several
directories that build loadable modules rather than shared libraries.
The contrib/adminpack is one of the special cases, but none of the
other contrib directories are.  As a result, they get built as shared
libraries (i.e., as libXXX.so rather than XXX.so) and the
corresponding *.sql.in files that load them refer to the wrong file
and therefore fail.  The following patch (against the 8.3 release)
fixes this by expanding the set of special cases to include all the
contrib directories, not just contrib/adminpack.  I only have tested
this with the uuid module, but it appears that all of them have the
same organization.

--- src/Makefile.shlib.orig
+++ src/Makefile.shlib
@@ -21,7 +21,7 @@ifneq (,$(findstring src/pl/,$(subdir)))shmodule    = yeselse
-ifneq (,$(findstring contrib/adminpack,$(subdir)))
+ifneq (,$(findstring contrib/,$(subdir)))shmodule    = yeselseshmodule    = no

Cheers,
Brook


Re: handling contrib directories as modules not shared libraries

From
Peter Eisentraut
Date:
On lör, 2010-01-23 at 18:00 -0700, Brook Milligan wrote:
> It seems that src/Makefile.shlib has special cases for several
> directories that build loadable modules rather than shared libraries.
> The contrib/adminpack is one of the special cases, but none of the
> other contrib directories are.  As a result, they get built as shared
> libraries (i.e., as libXXX.so rather than XXX.so) and the
> corresponding *.sql.in files that load them refer to the wrong file
> and therefore fail.  The following patch (against the 8.3 release)
> fixes this by expanding the set of special cases to include all the
> contrib directories, not just contrib/adminpack.  I only have tested
> this with the uuid module, but it appears that all of them have the
> same organization.

This code has been reworked quite extensively since 8.3.  Please check
CVS head to see if it works for you.




Re: handling contrib directories as modules not shared libraries

From
Josh Berkus
Date:
On 1/23/10 5:00 PM, Brook Milligan wrote:
> It seems that src/Makefile.shlib has special cases for several
> directories that build loadable modules rather than shared libraries.
> The contrib/adminpack is one of the special cases, but none of the
> other contrib directories are.  As a result, they get built as shared
> libraries (i.e., as libXXX.so rather than XXX.so) and the
> corresponding *.sql.in files that load them refer to the wrong file
> and therefore fail.  The following patch (against the 8.3 release)
> fixes this by expanding the set of special cases to include all the
> contrib directories, not just contrib/adminpack.  I only have tested
> this with the uuid module, but it appears that all of them have the
> same organization.

Should we be fixing them this way, or fixing the modules so that they
build as shared libraries?

--Josh Berkus