Thread: HPUX Port
Is there an HPUX port of Postgres SQL ? Hi, David
On Mon, 13 Jul 1998, Davide Libenzi wrote: > Is there an HPUX port of Postgres SQL ? Yes...
The Hermit Hacker <scrappy@hub.org> writes: > On Mon, 13 Jul 1998, Davide Libenzi wrote: >> Is there an HPUX port of Postgres SQL ? > Yes... There are a number of minor porting problems with 6.3.2 on HPUX; see my message in the pgsql-patches archives for 21 Apr 1998. All except one item have been addressed in the current development sources. The "one item" is that configure doesn't know about having to look in /lib/pa1.1 to find rint() on HPUX 9. I've been debating whether it's worth the trouble to fix that or not, vs. just putting a note in the INSTALL directions to manually correct the config.h file. regards, tom lane
On Mon, 13 Jul 1998, Tom Lane wrote: > The Hermit Hacker <scrappy@hub.org> writes: > > On Mon, 13 Jul 1998, Davide Libenzi wrote: > >> Is there an HPUX port of Postgres SQL ? > > > Yes... > > There are a number of minor porting problems with 6.3.2 on HPUX; > see my message in the pgsql-patches archives for 21 Apr 1998. All > except one item have been addressed in the current development sources. > > The "one item" is that configure doesn't know about having to look > in /lib/pa1.1 to find rint() on HPUX 9. I've been debating whether Is this something we can just ptu a check for tha tlibrary into the configure script and all will be well? Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
The Hermit Hacker <scrappy@hub.org> writes: >> The "one item" is that configure doesn't know about having to look >> in /lib/pa1.1 to find rint() on HPUX 9. I've been debating whether > Is this something we can just ptu a check for tha tlibrary into > the configure script and all will be well? In other words, Just Do It, eh? I suppose you're right. The attached does the right thing on HPUX 9 and looks fairly harmless for other platforms. regards, tom lane *** src/configure.in.orig Sun Jul 12 12:05:02 1998 --- src/configure.in Mon Jul 13 20:57:37 1998 *************** *** 582,588 **** AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT))) AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT), ! AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT))) dnl Check for X libraries --- 582,595 ---- AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT))) AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT), ! [ ! # On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a ! SPECIALMATHLIB="" ! if [[ -r /lib/pa1.1/libm.a ]] ; then ! SPECIALMATHLIB="-L /lib/pa1.1 -lm" ! fi ! AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $SPECIALMATHLIB) ! ]) dnl Check for X libraries
Applied. I see it is needed by configure so it finds rint on hpux. I assume you have looked at makefiles/Makefile.hpux. > The Hermit Hacker <scrappy@hub.org> writes: > >> The "one item" is that configure doesn't know about having to look > >> in /lib/pa1.1 to find rint() on HPUX 9. I've been debating whether > > > Is this something we can just ptu a check for tha tlibrary into > > the configure script and all will be well? > > In other words, Just Do It, eh? I suppose you're right. > > The attached does the right thing on HPUX 9 and looks fairly harmless > for other platforms. > > regards, tom lane > > > *** src/configure.in.orig Sun Jul 12 12:05:02 1998 > --- src/configure.in Mon Jul 13 20:57:37 1998 > *************** > *** 582,588 **** > AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT))) > AC_CHECK_FUNC(rint, > AC_DEFINE(HAVE_RINT), > ! AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT))) > > dnl Check for X libraries > > --- 582,595 ---- > AC_CHECK_LIB(m, cbrt, AC_DEFINE(HAVE_CBRT))) > AC_CHECK_FUNC(rint, > AC_DEFINE(HAVE_RINT), > ! [ > ! # On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a > ! SPECIALMATHLIB="" > ! if [[ -r /lib/pa1.1/libm.a ]] ; then > ! SPECIALMATHLIB="-L /lib/pa1.1 -lm" > ! fi > ! AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $SPECIALMATHLIB) > ! ]) > > dnl Check for X libraries > > > -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 + If your life is a hard drive, | (610) 353-9879(w) + Christ can be your backup. | (610) 853-3000(h)
On Mon, 13 Jul 1998, Bruce Momjian wrote: > Applied. I see it is needed by configure so it finds rint on hpux. I > assume you have looked at makefiles/Makefile.hpux. > > > The Hermit Hacker <scrappy@hub.org> writes: > > >> The "one item" is that configure doesn't know about having to look > > >> in /lib/pa1.1 to find rint() on HPUX 9. I've been debating whether What is rint? I just checked HP-UX 9.0 running on my 360 and it's not there. Is it a special thing for PA? Vince. -- ========================================================================== Vince Vielhaber -- KA8CSH email: vev@michvhf.com flame-mail: /dev/null # include <std/disclaimers.h> TEAM-OS2 Online Searchable Campground Listings http://www.camping-usa.com "There is no outfit less entitled to lecture me about bloat than the federal government" -- Tony Snow ==========================================================================
On Tue, 14 Jul 1998, Vince Vielhaber wrote: > On Mon, 13 Jul 1998, Bruce Momjian wrote: > > > Applied. I see it is needed by configure so it finds rint on hpux. I > > assume you have looked at makefiles/Makefile.hpux. > > > > > The Hermit Hacker <scrappy@hub.org> writes: > > > >> The "one item" is that configure doesn't know about having to look > > > >> in /lib/pa1.1 to find rint() on HPUX 9. I've been debating whether > > What is rint? I just checked HP-UX 9.0 running on my 360 and it's not > there. Is it a special thing for PA? > > Vince. DESCRIPTION The rint() and the rintf() functions return the integral value (repre-sented as a double or float precision number) nearest to x according to the prevailing rounding mode.
On Mon, 13 Jul 1998, Bruce Momjian wrote: >>>> Applied. I see it is needed by configure so it finds rint on hpux. I >>>> assume you have looked at makefiles/Makefile.hpux. Yes, the HPUX makefile was fixed some time ago. The last piece of the puzzle was to teach configure about it. The Hermit Hacker <scrappy@hub.org> writes: > On Tue, 14 Jul 1998, Vince Vielhaber wrote: >> What is rint? I just checked HP-UX 9.0 running on my 360 and it's not >> there. Is it a special thing for PA? > DESCRIPTION > The rint() and the rintf() functions return the integral value > (repre-sented as a double or float precision number) nearest to x > according to the prevailing rounding mode. rint() didn't use to be a standard part of libm, but I think it's mandated by recent versions of the IEEE float math spec. In HPUX 10, it's part of the standard math library libm. In HPUX 9, it's not in the standard libm but is in the PA1.1-only libm that's kept in /lib/pa1.1. The patches we're talking about have to do with configuring Postgres to use that math library so it can use the native version of rint(). I have no idea whether rint() is available anywhere for Series 300 machines. You don't have to worry too much if not; there is a substitute routine available in the Postgres distribution. BTW, does anyone have access to HPUX 9 running on a PA1.0 processor, ie an old Series 800 machine? Is the /lib/pa1.1 directory even present in such an installation? It suddenly occurs to me that we may need a smarter approach to dealing with /lib/pa1.1, if that directory could be present on machines that can't use the code in it. The current setup in configure and Makefile.hpux will do the right thing if /lib/pa1.1 is not there at all, but if it is there on a 1.0 machine then you'd end up with an unusable executable... regards, tom lane