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  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to