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
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.
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