On 20 March 2017 at 16:12, David Bernier wrote: > I have installed the PARI/gp calculator software, which I compiled > > with the readline library included to facilitate editing of lines at the > console. > > > This morning I did an update of CentOS 6.8 x86_64, which is a "clone" > > of Red Hat Enterprise Linux, minus the branding. > > > For that, I did: > > # yum update > > > Now, gp complains about missing symbols. > > The ldd command with options -d and -r gives the following: > > > $ ldd -d -r /usr/local/lib/libreadline.so.6 [ENTER ] > > linux-vdso.so.1 => (0x00007ffd4207e000) > libc.so.6 => /lib64/libc.so.6 (0x00007f5aae028000) > /lib64/ld-linux-x86-64.so.2 (0x0000003afc600000) > undefined symbol: PC (/usr/local/lib/libreadline.so.6) > undefined symbol: UP (/usr/local/lib/libreadline.so.6) > undefined symbol: BC (/usr/local/lib/libreadline.so.6) > undefined symbol: tgetflag (/usr/local/lib/libreadline.so.6) > undefined symbol: tgetent (/usr/local/lib/libreadline.so.6) > undefined symbol: tputs (/usr/local/lib/libreadline.so.6) > undefined symbol: tgoto (/usr/local/lib/libreadline.so.6) > undefined symbol: tgetnum (/usr/local/lib/libreadline.so.6) > undefined symbol: tgetstr (/usr/local/lib/libreadline.so.6) > > > and then when I looked at the modification date I get this: > > $ ls -l /usr/local/lib/libreadline.so.6 [ENTER ] > > lrwxrwxrwx. 1 root root 18 Mar 20 10:54 /usr/local/lib/libreadline.so.6 -> > libreadline.so.6.3 > > This means a change was made within the last 1 to 2 hours. > > My fix for the gp readline problem is to do > > a symbolic link with: > > /lib64/libreadline.so.6 which has a symlink to /lib64/libreadline.so.6.0 : > > $ ls -l /lib64/libreadline.so.6 > lrwxrwxrwx. 1 root root 18 Feb 4 02:07 /lib64/libreadline.so.6 -> > libreadline.so.6.0 > > $ ls -l /lib64/libreadline.so.6.0 > -rwxr-xr-x. 1 root root 272008 Jun 22 2012 /lib64/libreadline.so.6.0 > > === > > If I run the same `ldd' command on the old library > > /lib64/libreadline.so.6.0 > > I get the following: > > $ ldd -d -r /lib64/libreadline.so.6.0 [ ENTER ] > > linux-vdso.so.1 => (0x00007fffe08e3000) > libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003b0fa00000) > libc.so.6 => /lib64/libc.so.6 (0x0000003afce00000) > /lib64/ld-linux-x86-64.so.2 (0x0000003afc600000) > > It doesn't report any undefined symbols, which is why I > > symlink to it so that `gp' will work. > > I'd like to know why the Packagers continue to make > > symlinks to: /usr/local/lib/libreadline.so.6.3 > > which here using ldd -d -r shows up as having undefined symbols, > > or in the alternative (supposing I'm creating problems with > > my workaround for `gp' and librealine), how > > to compile or re-compile the PARI/gp source code so that > > it will not interfere with what the Packagers have fixed and > > got running fine. This has nothing to do with GCC.