bug-bash
[Top][All Lists]
Advanced

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

undefined symbol: UP


From: Fabrice BAUZAC
Subject: undefined symbol: UP
Date: Tue, 05 Jan 2021 09:32:40 +0100

Hello,

I'm trying to build and install readline 8.1 from source, but it looks
like the generated library refers to some symbol "UP" which is not
found, making the library unusable:

  $ LD_PRELOAD=$PWD/shlib/libreadline.so.8.1 /bin/true
  /bin/true: symbol lookup error:
  /tmp/readline-8.1/shlib/libreadline.so.8.1: undefined symbol: UP
  
  objdump -T /home/noon/gsrc/lib/libreadline.so.8
  0000000000000000      D  *UND*        0000000000000000              UP
  
  objdump -p /home/noon/gsrc/lib/libreadline.so.8
    NEEDED               libc.so.6

The libreadline I have on Debian does not have this issue, because it
has a DT_NEEDED on libtinfo which provides this symbol:

  objdump -T /lib/x86_64-linux-gnu/libreadline.so.8
  0000000000000000      DO *UND*        0000000000000000  
NCURSES6_TINFO_5.0.19991023 UP

  objdump -p /lib/x86_64-linux-gnu/libreadline.so.8
    NEEDED               libtinfo.so.6
    NEEDED               libc.so.6

  /lib/x86_64-linux-gnu/libtinfo.so.6
  000000000002e948 g    DO .bss 0000000000000008  NCURSES6_TINFO_5.0.19991023 UP

What's wrong?

Note that in my build I do not use ncurses but termcap; but shouldn't it
work nevertheless? --

  checking which library has the termcap functions... using libtermcap

For the record, here is the full output of the configure script.

  readline-8.1$ ./configure
  checking build system type... x86_64-pc-linux-gnu
  checking host system type... x86_64-pc-linux-gnu

  Beginning configuration for readline-8.1 for x86_64-pc-linux-gnu

  checking whether make sets $(MAKE)... yes
  checking for gcc... gcc
  checking whether the C compiler works... yes
  checking for C compiler default output file name... a.out
  checking for suffix of executables... 
  checking whether we are cross compiling... no
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether gcc accepts -g... yes
  checking for gcc option to accept ISO C89... none needed
  checking how to run the C preprocessor... gcc -E
  checking for grep that handles long lines and -e... /usr/bin/grep
  checking for egrep... /usr/bin/grep -E
  checking for ANSI C header files... yes
  checking for sys/types.h... yes
  checking for sys/stat.h... yes
  checking for stdlib.h... yes
  checking for string.h... yes
  checking for memory.h... yes
  checking for strings.h... yes
  checking for inttypes.h... yes
  checking for stdint.h... yes
  checking for unistd.h... yes
  checking minix/config.h usability... no
  checking minix/config.h presence... no
  checking for minix/config.h... no
  checking whether it is safe to define __EXTENSIONS__... yes
  checking whether gcc needs -traditional... no
  checking for a BSD-compatible install... /usr/bin/install -c
  checking for ar... ar
  checking for ranlib... ranlib
  checking for an ANSI C-conforming const... yes
  checking for function prototypes... yes
  checking whether char is unsigned... no
  checking for working volatile... yes
  checking return type of signal handlers... void
  checking for size_t... yes
  checking for ssize_t... yes
  checking for ANSI C header files... (cached) yes
  checking whether stat file-mode macros are broken... no
  checking for dirent.h that defines DIR... yes
  checking for library containing opendir... none required
  checking for fcntl... yes
  checking for kill... yes
  checking for lstat... yes
  checking for readlink... yes
  checking for fnmatch... yes
  checking for memmove... yes
  checking for pselect... yes
  checking for putenv... yes
  checking for select... yes
  checking for setenv... yes
  checking for setlocale... yes
  checking for strcasecmp... yes
  checking for strpbrk... yes
  checking for tcgetattr... yes
  checking for vsnprintf... yes
  checking for isascii... yes
  checking for isxdigit... yes
  checking for getpwent... yes
  checking for getpwnam... yes
  checking for getpwuid... yes
  checking for uid_t in sys/types.h... yes
  checking for unistd.h... (cached) yes
  checking for working chown... yes
  checking for working strcoll... yes
  checking fcntl.h usability... yes
  checking fcntl.h presence... yes
  checking for fcntl.h... yes
  checking for unistd.h... (cached) yes
  checking for stdlib.h... (cached) yes
  checking varargs.h usability... no
  checking varargs.h presence... no
  checking for varargs.h... no
  checking stdarg.h usability... yes
  checking stdarg.h presence... yes
  checking for stdarg.h... yes
  checking stdbool.h usability... yes
  checking stdbool.h presence... yes
  checking for stdbool.h... yes
  checking for string.h... (cached) yes
  checking for strings.h... (cached) yes
  checking limits.h usability... yes
  checking limits.h presence... yes
  checking for limits.h... yes
  checking locale.h usability... yes
  checking locale.h presence... yes
  checking for locale.h... yes
  checking pwd.h usability... yes
  checking pwd.h presence... yes
  checking for pwd.h... yes
  checking for memory.h... (cached) yes
  checking termcap.h usability... yes
  checking termcap.h presence... yes
  checking for termcap.h... yes
  checking termios.h usability... yes
  checking termios.h presence... yes
  checking for termios.h... yes
  checking termio.h usability... yes
  checking termio.h presence... yes
  checking for termio.h... yes
  checking sys/ioctl.h usability... yes
  checking sys/ioctl.h presence... yes
  checking for sys/ioctl.h... yes
  checking sys/pte.h usability... no
  checking sys/pte.h presence... no
  checking for sys/pte.h... no
  checking sys/stream.h usability... no
  checking sys/stream.h presence... no
  checking for sys/stream.h... no
  checking sys/select.h usability... yes
  checking sys/select.h presence... yes
  checking for sys/select.h... yes
  checking sys/file.h usability... yes
  checking sys/file.h presence... yes
  checking for sys/file.h... yes
  checking for sys/ptem.h... no
  checking for special C compiler options needed for large files... no
  checking for _FILE_OFFSET_BITS value needed for large files... no
  checking for type of signal functions... posix
  checking if signal handlers must be reinstalled when invoked... no
  checking for presence of POSIX-style sigsetjmp/siglongjmp... present
  checking for lstat... yes
  checking whether or not strcoll and strcmp differ... no
  checking whether the ctype macros accept non-ascii characters... no
  checking whether getpw functions are declared in pwd.h... yes
  checking whether termios.h defines TIOCGWINSZ... no
  checking whether sys/ioctl.h defines TIOCGWINSZ... yes
  checking for sig_atomic_t in signal.h... yes
  checking whether signal handlers are of type void... yes
  checking for TIOCSTAT in sys/ioctl.h... no
  checking for FIONREAD in sys/ioctl.h... yes
  checking for speed_t in sys/types.h... no
  checking for struct winsize in sys/ioctl.h and termios.h... sys/ioctl.h
  checking for struct dirent.d_ino... yes
  checking for struct dirent.d_fileno... yes
  checking libaudit.h usability... no
  checking libaudit.h presence... no
  checking for libaudit.h... no
  checking whether AUDIT_USER_TTY is declared... yes
  checking for tgetent... no
  checking for tgetent in -ltermcap... yes
  checking which library has the termcap functions... using libtermcap
  checking wctype.h usability... yes
  checking wctype.h presence... yes
  checking for wctype.h... yes
  checking wchar.h usability... yes
  checking wchar.h presence... yes
  checking for wchar.h... yes
  checking langinfo.h usability... yes
  checking langinfo.h presence... yes
  checking for langinfo.h... yes
  checking mbstr.h usability... no
  checking mbstr.h presence... no
  checking for mbstr.h... no
  checking for mbrlen... yes
  checking for mbscasecmp... no
  checking for mbscmp... no
  checking for mbsnrtowcs... yes
  checking for mbsrtowcs... yes
  checking for mbschr... no
  checking for wcrtomb... yes
  checking for wcscoll... yes
  checking for wcsdup... yes
  checking for wcwidth... yes
  checking for wctype... yes
  checking for wcswidth... yes
  checking whether mbrtowc and mbstate_t are properly declared... yes
  checking for iswlower... yes
  checking for iswupper... yes
  checking for towlower... yes
  checking for towupper... yes
  checking for iswctype... yes
  checking for nl_langinfo and CODESET... yes
  checking for wchar_t in wchar.h... yes
  checking for wctype_t in wctype.h... yes
  checking for wint_t in wctype.h... yes
  checking for wcwidth broken with unicode combining characters... no
  checking size of wchar_t... 4
  checking configuration for building shared libraries... supported
  configure: creating ./config.status
  config.status: creating Makefile
  config.status: creating doc/Makefile
  config.status: creating examples/Makefile
  config.status: creating shlib/Makefile
  config.status: creating readline.pc
  config.status: creating config.h
  config.status: executing default commands

Thanks!

Best regards

-- 
Fabrice Bauzac-Stehly
PGP 01EEACF8244E9C14B551C5256ADA5F189BD322B6
old PGP 015AE9B25DCB0511D200A75DE5674DEA514C891D



reply via email to

[Prev in Thread] Current Thread [Next in Thread]