HP-UX 11.11 PostgreSQL 8.3.1 - psql core dumps - Unresolved symbol: tgetent

Started by Mihai Crivetialmost 18 years ago3 messages
#1Mihai Criveti
cmihai@boreas.ro

I've compiled PostgreSQL 8.3.1 using gcc 4.2.3 on HP-UX 11i v1, and all went
well. PostgreSQL works and everything, except for psql client:

$ ldd /usr/local/pgsql/bin/psql
=>
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libm.2 => /usr/lib/libm.2
/usr/local/lib/libreadline.sl =>
/usr/local/lib/libreadline.sl
/usr/local/lib/libz.sl => /usr/local/lib/libz.sl
/usr/lib/libxnet.2 => /usr/lib/libxnet.2
/usr/lib/libxti.2 => /usr/lib/libxti.2
../../../src/interfaces/libpq/libpq.sl.5 =>
/usr/local/pgsql/lib/libpq.sl.5

$ /usr/local/pgsql/bin/psql
Welcome to psql 8.3.1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

/usr/lib/dld.sl: Unresolved symbol: tgetent (code) from
/usr/local/lib/libreadline.sl
LOG: unexpected EOF on client connection
ABORT instruction (core dumped)

# swlist | grep readline
readline 5.2 readline

$ file /usr/local/lib/libreadline.sl
/usr/local/lib/libreadline.sl: PA-RISC2.0 shared library

As you can see, the older version of psql (7.4.2) works fine:

$ psql
Welcome to psql 7.4.2, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit

$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+-----------
postgres | postgres | SQL_ASCII
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(3 rows)

$ /usr/local/pgsql/bin/createdb test
$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+-----------
postgres | postgres | SQL_ASCII
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
test | postgres | SQL_ASCII
(4 rows)

If needed, I can attach a core dump.

Regards, cmihai

--
Criveti Mihai
http://unixsadm.blogspot.com

#2Martijn van Oosterhout
kleptog@svana.org
In reply to: Mihai Criveti (#1)
Re: HP-UX 11.11 PostgreSQL 8.3.1 - psql core dumps - Unresolved symbol: tgetent

On Tue, Mar 25, 2008 at 04:54:59PM +0200, Mihai Criveti wrote:

I've compiled PostgreSQL 8.3.1 using gcc 4.2.3 on HP-UX 11i v1, and all went
well. PostgreSQL works and everything, except for psql client:

$ /usr/local/pgsql/bin/psql
Welcome to psql 8.3.1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

/usr/lib/dld.sl: Unresolved symbol: tgetent (code) from
/usr/local/lib/libreadline.sl

tgetent is from curses/ncurses. When readline is built it either takes
a system version or a builtin one. Evidently it thinks there ought to
be a system version somewhere. In any case it looks like your readline
library uses curses but doesn't actually link to it, which is bad.

You can probably work around it by adding -lcurses to the psql link
line, but fixing readline would be better.

Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/

Show quoted text

Please line up in a tree and maintain the heap invariant while
boarding. Thank you for flying nlogn airlines.

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Mihai Criveti (#1)
Re: HP-UX 11.11 PostgreSQL 8.3.1 - psql core dumps - Unresolved symbol: tgetent

"Mihai Criveti" <cmihai@boreas.ro> writes:

I've compiled PostgreSQL 8.3.1 using gcc 4.2.3 on HP-UX 11i v1, and all went
well. PostgreSQL works and everything, except for psql client:

/usr/lib/dld.sl: Unresolved symbol: tgetent (code) from
/usr/local/lib/libreadline.sl

Kinda looks like your libreadline is broken.

As you can see, the older version of psql (7.4.2) works fine:

Maybe that was built without readline support?

regards, tom lane