John R Pierce wrote: > there's a definite structural problem in that the 32 bit and 64 bit > Solaris binaries are in the same tree, with just the bin and lib > directories differentiated. you can in theory install them both, and > point them to different $PGDATA directories, and have them both running > at once, but they share the include directory, so anything like a > pl/*** you build from source against this tree will have problems. > > A temporary acceptable solution would be to simply acknowlege this > problem in the build release notes and specify that you either only > install the one package you want, or if you install them both, the one > you install *last* will be the only one you can build something like > pl/java against. This is somewhat sketchy, but still an > improvement over the current. > > I don't know if the build trees can be structured so the include > directories can be differentiated the same as the bin and lib... I see > the include dir location is supplied by pg_config, but I don't know how > consistently this is used by something like pl/java's build. > > # /usr/postgres/8.4-community/bin/pg_config # 32bit version > BINDIR = /usr/postgres/8.4-community/bin > DOCDIR = /usr/postgres/8.4-community/share/doc > HTMLDIR = /usr/postgres/8.4-community/share/doc > INCLUDEDIR = /usr/postgres/8.4-community/include > PKGINCLUDEDIR = /usr/postgres/8.4-community/include > INCLUDEDIR-SERVER = /usr/postgres/8.4-community/include/server > LIBDIR = /usr/postgres/8.4-community/lib > PKGLIBDIR = /usr/postgres/8.4-community/lib > LOCALEDIR = /usr/postgres/8.4-community/share/locale > MANDIR = /usr/postgres/8.4-community/man > SHAREDIR = /usr/postgres/8.4-community/share > SYSCONFDIR = /usr/postgres/8.4-community/etc > PGXS = /usr/postgres/8.4-community/lib/pgxs/src/makefiles/pgxs.mk > .......rest deleted..... > > # /usr/postgres/8.4-community/bin/64/pg_config # 64bit version > BINDIR = /usr/postgres/8.4-community/bin/64 > DOCDIR = /usr/postgres/8.4-community/share/doc > HTMLDIR = /usr/postgres/8.4-community/share/doc > INCLUDEDIR = /usr/postgres/8.4-community/include > PKGINCLUDEDIR = /usr/postgres/8.4-community/include > INCLUDEDIR-SERVER = /usr/postgres/8.4-community/include/server > LIBDIR = /usr/postgres/8.4-community/lib/64 > PKGLIBDIR = /usr/postgres/8.4-community/lib/64 > LOCALEDIR = /usr/postgres/8.4-community/share/locale > MANDIR = /usr/postgres/8.4-community/man > SHAREDIR = /usr/postgres/8.4-community/share > SYSCONFDIR = /usr/postgres/8.4-community/etc > PGXS = /usr/postgres/8.4-community/lib/64/pgxs/src/makefiles/pgxs.mk > .......rest deleted..... OK, I see your bin and lib 64-bit files are places into a "64" subdirectory. Logic dictates that the include files should be in /usr/postgres/8.4-community/include/64, and /usr/postgres/8.4-community/bin/64/pg_config should report that location. If it does, all the PGXS stuff will use it. I don't think we ever considered this kind of setup, but that seem to be the proper direction. -- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://enterprisedb.com -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general