Re: Configure fails to find readline libraries - Mailing list pgsql-general

From Scott Mead
Subject Re: Configure fails to find readline libraries
Date
Msg-id d3ab2ec80905191638q3ae3a006ud0bc8f7cb1e742de@mail.gmail.com
Whole thread Raw
In response to Re: Configure fails to find readline libraries  (Jeffrey Trimble <jtrimble@cc.ysu.edu>)
List pgsql-general

On Tue, May 19, 2009 at 7:32 PM, Jeffrey Trimble <jtrimble@cc.ysu.edu> wrote:
Hi...Here's the output of that one:

ldd /usr/local/lib/libreadline.so
linux-gate.so.1 =>  (0xffffe000)
libc.so.6 => /lib/libc.so.6 (0xb7e9c000)
/lib/ld-linux.so.2 (0xb8055000)
ddev:/ # 

   Not really sure what the problem is then, it's probably obvious but I'm jet-lagged and running on low blood sugar /caffeine right now.

There are two versions of readline.  REadline 5.2 and Readline 6.0  Readline 5.2 was installed during
the suse linux installation but it never installed the readline.h file.  Go figure.

   The easiest way to deal with that is just to install the 'readline-devel' package via YaST.  That may help.

--Scott

 

--Jeff

Jeffrey Trimble
System LIbrarian
William F.  Maag Library
Youngstown State University
330.941.2483 (Office)



On May 19, 2009, at 7:28 PM, Scott Mead wrote:


On Tue, May 19, 2009 at 7:23 PM, Jeffrey Trimble <jtrimble@cc.ysu.edu> wrote:
Hi.. thanks.

Here's a printout from my find command:

/usr/local/include/readline
/usr/local/include/readline/readline.h


And the plot thickens. Here is where it errors out and then loops endlessly until it quits:
(There are symbolic links from libreadline.so to libreadline.so.6.0)

configure:6240: $? = 0
configure:6243: test -s conftest
configure:6246: $? = 0
configure:6316: result: none required
configure:6337: checking for -lreadline
configure:6364: gcc -o conftest -I/usr/local/include -I/usr/local/include/readline -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -D_GNU_SOURCE  -I/usr/local/include -I/usr/local/include/readline -L/usr/local/lib  -L/usr/local/lib conftest.c -lreadline -lcrypt -ldl -lm  >&5 
/usr/local/lib/libreadline.so: undefined reference to `PC'
/usr/local/lib/libreadline.so: undefined reference to `tgetflag'
/usr/local/lib/libreadline.so: undefined reference to `tgetent'
/usr/local/lib/libreadline.so: undefined reference to `UP'
/usr/local/lib/libreadline.so: undefined reference to `tputs'
/usr/local/lib/libreadline.so: undefined reference to `tgoto'
/usr/local/lib/libreadline.so: undefined reference to `tgetnum'
/usr/local/lib/libreadline.so: undefined reference to `BC'
/usr/local/lib/libreadline.so: undefined reference to `tgetstr'

   What happens if you run 

       ldd /usr/local/lib/libreadline.so ?

      It looks like you've got either multiple versions of readline installed and you're linking to the wrong one, or something is really wonky with your readline build.  A quick google is showing that all of those symbols are in ncurses, which means that you should probably have ncurses in your linker cache or linker runtime path.

   By the way, if you don't want readline functionality in psql (or care), just build '--without-readline'

--Scott


pgsql-general by date:

Previous
From: Jeffrey Trimble
Date:
Subject: Re: Configure fails to find readline libraries
Next
From: Greg Smith
Date:
Subject: Re: Direct I/O and postgresql version