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

Lists: pgsql-hackers
From: "Mihai Criveti" <cmihai(at)boreas(dot)ro>
To: pgsql-hackers(at)postgresql(dot)org
Subject: HP-UX 11.11 PostgreSQL 8.3.1 - psql core dumps - Unresolved symbol: tgetent
Date: 2008-03-25 14:54:59
Message-ID: 22c159aa0803250754y2c623408v3ae18cd7a434038b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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


From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Mihai Criveti <cmihai(at)boreas(dot)ro>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: HP-UX 11.11 PostgreSQL 8.3.1 - psql core dumps - Unresolved symbol: tgetent
Date: 2008-03-25 15:43:07
Message-ID: 20080325154307.GD11037@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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(at)svana(dot)org> http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while
> boarding. Thank you for flying nlogn airlines.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Mihai Criveti" <cmihai(at)boreas(dot)ro>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: HP-UX 11.11 PostgreSQL 8.3.1 - psql core dumps - Unresolved symbol: tgetent
Date: 2008-03-25 15:56:54
Message-ID: 22013.1206460614@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Mihai Criveti" <cmihai(at)boreas(dot)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