[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: bash will not link against ncursesw and readline in /usr/local
From: |
John Frankish |
Subject: |
RE: bash will not link against ncursesw and readline in /usr/local |
Date: |
Wed, 14 Nov 2018 06:07:59 +0000 |
> > Using bash-4.4.18
> > Intel core i7 laptop running 32-bit or 64-bit linux Using gcc-8.2.0
> >
> > The configure script does not find libncursesw on a system where
> > only the wide version of ncurses exists - even when readine is linked
> > against ncursesw.
> >
> I haven't seen a distro where ncursesw is installed without a link to ncurses.
> Which distribution are you using?
>
The 64-bit version of tinycorelinux - all non-base packages are installed to
/usr/local.
Since ncursesw is now the default, I'm trying to compile against that.
> I could add a check for ncursesw, but that's the kind of thing the distro
> usually does.
>
If ncursesw is now the default, maybe it would make sense to check for that
rather than a symlink?
> > The configure scripts does not find libreadline when it is compiled to
> > /usr/local and when using the configure switch
> > "--with-installed-readline=/usr/local"
> >
> I don't have any trouble finding readline in /usr/local/lib/libreadline.so
> after
> installing it, editing /etc/ld.so.conf, and running ldconfig. I tried with
> readline-8.0-beta
> and bash-5.0-beta, so at least it will be working when those hit release
> status.
>
It appears that the readline check relies on the ncurses check being successful.
If I configure without an ncurses symlink the check for readline fails.
If I add an ncurses symlink the check for readline succeeds.
checking for tgetent... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... no
checking which library has the termcap functions... using gnutermcap
checking version of installed readline library... configure: WARNING: Could not
test version of installed readline library.
configure: WARNING: installed readline library is too old to be linked with bash
configure: WARNING: using private bash version
configure:5194: result: no
configure:5213: checking which library has the termcap functions
configure:5216: result: using gnutermcap
configure:5242: checking version of installed readline library
configure:5296: gcc -flto -fuse-linker-plugin -mtune=generic -Os -pipe -o
conftest -g -O2 -Wno-parentheses -Wno-format-security -I/usr/local/include
-L./lib/termcap -L/usr/local/lib conftest.c -lreadline
./lib/termcap/libtermcap.a >&5
gcc: error: ./lib/termcap/libtermcap.a: No such file or directory
$ cd /usr/local/lib
$ sudo ln -s libncursesw.so.6.1 libncurses.so
$ sudo ldconfig
checking for tgetent... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... yes
checking which library has the termcap functions... using libncurses
checking version of installed readline library... 7.0