Summary: PostgreSQL with GNU readline on HP-UX - Mailing list pgsql-general

From Giles Lean
Subject Summary: PostgreSQL with GNU readline on HP-UX
Date
Msg-id 23216.1042165653@hpchs.cup.hp.com
Whole thread Raw
List pgsql-general
Hi all,

I was contacted off-list about a problem building and running
PostgreSQL on HP-UX using a shared GNU readline library.  I'm posting
a summary of the problem and solution so that it is available in the
archives.

The build configuration was PostgreSQL 7.3.1, gcc 3.2, and a shared
library build of readline-4.3.  The compiler (gcc or HP ANSI C) and
PostgreSQL versions aren't important.  "Out of the box" libreadline
is built as an archive library, and that works too.  Only the shared
library build is problematic.

When PostgreSQL is linked with a faulty build of libreadline psql
will dump core at startup:

| /usr/lib/dld.sl: Unresolved symbol: tgetent (code)  from
| /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.1/../../../libreadline.sl
| Abort(coredump)

This is caused by the shared library libreadline.sl needing to be
linked with -lcurses.

There are three common ways to install readline on HP-UX:

1. build from GNU source

   If built as an archive library (which is the default) there
   is no problem.

   If a shared library is built the generated shlib/Makefile needs to
   be edited after configure is run and before make:

       ./configure
       ... edit shlib/Makefile as below ...
       make

   The change to shlib/Makefile is:

        < SHLIB_LIBS =
        ---
        > SHLIB_LIBS =  -lcurses

   If someone familiar with autoconf and configure can tell me what
   the fix to shlib/Makefile.in should be I'd be pleased to hear.  I
   don't understand autoconf. :-(

2. install the binary depot from the HP-UX Porting and Archive Center

       http://hpux.cs.utah.edu

   This package (as at 2003-01-10) is built incorrectly.  If you
   install it I recommend removing /usr/local/lib/libreadline.sl
   and /usr/local/lib/libreadline.sl.old.  This leaves the working
   archive library only.

3. build from the ported source distribution from the HP-UX Porting
   and Archive Centre

   Unfortunately this package has been munged to install shared
   libraries by default.  The same fix to shlib/Makefile as documented
   in #1 for building a shared library is appropriate.

Regards,

Giles

pgsql-general by date:

Previous
From: Michelle Konzack
Date:
Subject: Re: How to backup a postgreSQL of 80 GByte ?
Next
From: "Williams, Travis L, NPONS"
Date:
Subject: sequence question