Thread: HPUX Port

HPUX Port

From
dlibenzi@maticad.it (Davide Libenzi)
Date:
Is there an HPUX port of Postgres SQL ?

Hi, David



Re: [HACKERS] HPUX Port

From
The Hermit Hacker
Date:
On Mon, 13 Jul 1998, Davide Libenzi wrote:

> Is there an HPUX port of Postgres SQL ?

    Yes...



Re: [HACKERS] HPUX Port

From
Tom Lane
Date:
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

Re: [HACKERS] HPUX Port

From
The Hermit Hacker
Date:
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


Re: [HACKERS] HPUX Port

From
Tom Lane
Date:
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


Re: [HACKERS] HPUX Port

From
Bruce Momjian
Date:
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)

Re: [HACKERS] HPUX Port

From
Vince Vielhaber
Date:
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
==========================================================================



Re: [HACKERS] HPUX Port

From
The Hermit Hacker
Date:
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.



Re: [HACKERS] HPUX Port

From
Tom Lane
Date:
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