On 18-01-17 22:16, Vanzo, Davide wrote:
> Ward,
> the symbols exist in the libreadline.a, not in libncurses.a as you can
> see here:
> 
> $ readelf --syms
> /usr/software/software/Compiler/GCC/5.4.0-2.26/libreadline/6.3/lib/libreadline.a
> | grep 'tputs\|tgoto\|tgetnum\|PC\|BC\|UP\|tgetent\|tgetstr\|tgetflag'
>    97: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tputs
>   127: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tgoto
>    70: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tgetnum
>    97: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PC
>    99: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND BC
>   100: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND UP
>   101: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tgetent
>   102: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tgetstr
>   104: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tgetflag
>   118: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tputs

The 'UND' means that the library needs the symbol but doesn't have it.

> $ readelf --syms
> /usr/software/software/Core/ncurses/6.0/lib/libncurses.a | grep
> 'tputs\|tgoto\|tgetnum\|PC\|BC\|UP\|tgetent\|tgetstr\|tgetflag'
>    28: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tputs_sp
>    41: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tputs_sp
>    14: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tputs_sp
>    25: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND tputs_sp

This is weird, they should be here. It can be put the libtinfo library
but the current easyconfigs don't build it. Can you share the build log
of ncurses? And check if they are in the .so version?

Ward

Reply via email to