Jeffrey Walton on Sat, 02 Jan 2021 05:30:40 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: GMP and Readline detection is a bit off


On Fri, Jan 1, 2021 at 6:41 PM Jeffrey Walton <noloader@gmail.com> wrote:
>
> Hi Everyone,
>
> I'm working with the pari-2.13.0 source tarball. I have the latest GMP
> 6.2.1 and Readline 8.0 installed at prefix=/usr/local.
>
> I noticed PARI/GP is not configuring correctly using:
>
>     --with-gmp=/usr/local
>     --with-readline=/usr/local
>
> Here's what Configure is showing:
>
> Checking for optional libraries and headers...
> ...Found gmp header in /usr/local/include
> Using GNU MP, version 6.2.0
> ### Qt not found. Building without Qt support
> Hi-Res Graphics: none
> ...Found readline header in /usr/local/include/readline
> ###
> ### Readline library does not seem to work. Maybe install libncurses?
> ###
> ### Building without GNU readline support
>
> I installed GMP 6.2.1, but Configure is finding GMP 6.2.0. That's the
> system's version of the library in /usr/lib64, not my version in
> /usr/local/lib64.
>
> I suspect the Configure test program is not using CPPFLAGS, CFLAGS and
> LDFLAGS I supplied.

I found two problems here.

For both GMP and Readline, I needed to use --with-xxx-lib since the
library directory is lib64/, not lib/. I'll write that one off as my
mistake.

However, Readline was still failing due to Ncurses, which was
installed. PARI/GP needs this patch to detect the wide version of
Ncurses:

+--- config/get_readline
++++ config/get_readline
+@@ -36,7 +36,7 @@
+ fi
+
+ # try linking without locatelib (without -L except --with-xxx-lib)
+-for tlib in "" tinfo ncurses termcap; do
++for tlib in "" tinfo ncursesw ncurses termcap; do
+   t=$rl
+   if test -n "$tlib"; then # need a termcap compatible library?
+     eval with="\$with_${tlib}_lib"

Jeff