Re: Build errors at link time - what am I missing?
- Original Message - | From: "Chris Green" | To: "Vile mailing list" | Sent: Wednesday, November 30, 2022 6:42:39 PM | Subject: Re: Build errors at link time - what am I missing? | On Wed, Nov 30, 2022 at 06:32:59PM -0500, Thomas Dickey wrote: |> On Wed, Nov 30, 2022 at 08:26:07PM +, Chris Green wrote: |> > On Wed, Nov 30, 2022 at 08:20:53PM +, Chris Green wrote: |> > > I'm trying to build vile-9.8 on a Debian system where I have a shared |> > > hosting account with ssh access. |> > > |> > > I'm doing "./configure --prefix=$HOME" and it runs OK but there are |> > > couple of warnings. |> > > |> > > Firstly it can't find a good lex so it says:- |> > > configure: WARNING: disabling build for lex-filters |> > > I don't think this is going to be an issue. |> > > |> > > However, later on in configure I get:- |> > > configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap |> > > and then at link time there are loads of undefined references to |> > > tputs, tgoto, and a lot of other tx symbols. |> > > |> > > So presumably I need to build one of those libraries, or is there |> > > something simpler I can do? |> > > |> > The system does have libncurses, it's in /usr/lib/x86_64-linux-gnu. Is |> > it possible that directory isn't on the cc/linker search path? How do |> > I add it? |> |> You need the development package. The runtime package has a similarly named |> library file. |> |> For example (Debian/oldstable) |> |> libtinfo6 has |> /usr/lib/x86_64-linux-gnu/libtic.so.6 |> |> libncurses-dev hs |> /usr/lib/x86_64-linux-gnu/libtinfo.so |> |> The plain ".so" is what development packages link with, e.g., -ltinfo |> | There's some .so files buried deep down:- | |chrisisbd@caracal:/usr/lib/x86_64-linux-gnu/zsh/5.7.1$ cd zsh |chrisisbd@caracal:/usr/lib/x86_64-linux-gnu/zsh/5.7.1/zsh$ ls |attr.so complist.so example.so nearcolor.so pcre.so system.so |zleparameter.so |cap.so computil.so files.so net regex.so termcap.so |zprof.so |clone.so curses.so langinfo.so newuser.sorlimits.so terminfo.so |zpty.so |compctl.so datetime.so mapfile.so param sched.sozftp.so |zselect.so |complete.so deltochar.so mathfunc.so parameter.so stat.so zle.so |zutil.so | | Will these allow me to build if I include that directory in the ld search path? | If so, how do I include that directory? | | If not then I guess I'll have to build ncurses as desribed in the E-Mail before. Brendan's advice is the way to go. -- Thomas E. Dickey http://invisible-island.net ftp://ftp.invisible-island.net
Re: Build errors at link time - what am I missing?
On Wed, Nov 30, 2022 at 08:20:53PM +, Chris Green wrote: > I'm trying to build vile-9.8 on a Debian system where I have a shared > hosting account with ssh access. > > I'm doing "./configure --prefix=$HOME" and it runs OK but there are > couple of warnings. > > Firstly it can't find a good lex so it says:- > configure: WARNING: disabling build for lex-filters > I don't think this is going to be an issue. > > However, later on in configure I get:- > configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap > and then at link time there are loads of undefined references to > tputs, tgoto, and a lot of other tx symbols. > > So presumably I need to build one of those libraries, or is there > something simpler I can do? > The system does have libncurses, it's in /usr/lib/x86_64-linux-gnu. Is it possible that directory isn't on the cc/linker search path? How do I add it? -- Chris Green
Re: Build errors at link time - what am I missing?
On Wed, Nov 30, 2022 at 06:32:59PM -0500, Thomas Dickey wrote: > On Wed, Nov 30, 2022 at 08:26:07PM +, Chris Green wrote: > > On Wed, Nov 30, 2022 at 08:20:53PM +, Chris Green wrote: > > > I'm trying to build vile-9.8 on a Debian system where I have a shared > > > hosting account with ssh access. > > > > > > I'm doing "./configure --prefix=$HOME" and it runs OK but there are > > > couple of warnings. > > > > > > Firstly it can't find a good lex so it says:- > > > configure: WARNING: disabling build for lex-filters > > > I don't think this is going to be an issue. > > > > > > However, later on in configure I get:- > > > configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap > > > and then at link time there are loads of undefined references to > > > tputs, tgoto, and a lot of other tx symbols. > > > > > > So presumably I need to build one of those libraries, or is there > > > something simpler I can do? > > > > > The system does have libncurses, it's in /usr/lib/x86_64-linux-gnu. Is > > it possible that directory isn't on the cc/linker search path? How do > > I add it? > > You need the development package. The runtime package has a similarly named > library file. > > For example (Debian/oldstable) > > libtinfo6 has > /usr/lib/x86_64-linux-gnu/libtic.so.6 > > libncurses-dev hs > /usr/lib/x86_64-linux-gnu/libtinfo.so > > The plain ".so" is what development packages link with, e.g., -ltinfo > There's some .so files buried deep down:- chrisisbd@caracal:/usr/lib/x86_64-linux-gnu/zsh/5.7.1$ cd zsh chrisisbd@caracal:/usr/lib/x86_64-linux-gnu/zsh/5.7.1/zsh$ ls attr.so complist.so example.so nearcolor.so pcre.so system.so zleparameter.so cap.so computil.so files.so net regex.so termcap.so zprof.so clone.so curses.so langinfo.so newuser.sorlimits.so terminfo.so zpty.so compctl.so datetime.so mapfile.so param sched.sozftp.so zselect.so complete.so deltochar.so mathfunc.so parameter.so stat.so zle.so zutil.so Will these allow me to build if I include that directory in the ld search path? If so, how do I include that directory? If not then I guess I'll have to build ncurses as desribed in the E-Mail before. Thanks both. -- Chris Green
Re: Build errors at link time - what am I missing?
On Thu, 1 Dec 2022 at 07:26, Chris Green wrote: > > However, later on in configure I get:- > > configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap > > and then at link time there are loads of undefined references to > > tputs, tgoto, and a lot of other tx symbols. > > > > So presumably I need to build one of those libraries, or is there > > something simpler I can do? If you don't have permission to install packages, then you will need to build some of the dependencies in your home directory. > The system does have libncurses, it's in /usr/lib/x86_64-linux-gnu. Is > it possible that directory isn't on the cc/linker search path? How do > I add it? Debian splits libraries into runtime and development components: the runtime package contains just the versioned shared library such as libncurses.so.6, and the development package contains the symlink to the appropriate version of the shared library (e.g. libncurses.so -> libncurses.so.6), and the header files. So even if libncurses.so.6 is installed, that is not enough to build with. If you're building in your home directory, you can probably just get: https://invisible-island.net/ncurses/ncurses.html and build that with --prefix=$HOME. I think that this will provide an appropriate flex: https://invisible-island.net/reflex/reflex.html The only other things that I build the Debian package with are Perl and Xaw, which you can skip if you don't fancy building Perl, and don't care about X. --bod
Build errors at link time - what am I missing?
I'm trying to build vile-9.8 on a Debian system where I have a shared hosting account with ssh access. I'm doing "./configure --prefix=$HOME" and it runs OK but there are couple of warnings. Firstly it can't find a good lex so it says:- configure: WARNING: disabling build for lex-filters I don't think this is going to be an issue. However, later on in configure I get:- configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap and then at link time there are loads of undefined references to tputs, tgoto, and a lot of other tx symbols. So presumably I need to build one of those libraries, or is there something simpler I can do? -- Chris Green
Re: Build errors at link time - what am I missing?
On Wed, Nov 30, 2022 at 08:26:07PM +, Chris Green wrote: > On Wed, Nov 30, 2022 at 08:20:53PM +, Chris Green wrote: > > I'm trying to build vile-9.8 on a Debian system where I have a shared > > hosting account with ssh access. > > > > I'm doing "./configure --prefix=$HOME" and it runs OK but there are > > couple of warnings. > > > > Firstly it can't find a good lex so it says:- > > configure: WARNING: disabling build for lex-filters > > I don't think this is going to be an issue. > > > > However, later on in configure I get:- > > configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap > > and then at link time there are loads of undefined references to > > tputs, tgoto, and a lot of other tx symbols. > > > > So presumably I need to build one of those libraries, or is there > > something simpler I can do? > > > The system does have libncurses, it's in /usr/lib/x86_64-linux-gnu. Is > it possible that directory isn't on the cc/linker search path? How do > I add it? You need the development package. The runtime package has a similarly named library file. For example (Debian/oldstable) libtinfo6 has /usr/lib/x86_64-linux-gnu/libtic.so.6 libncurses-dev hs /usr/lib/x86_64-linux-gnu/libtinfo.so The plain ".so" is what development packages link with, e.g., -ltinfo -- Thomas E. Dickey https://invisible-island.net ftp://ftp.invisible-island.net signature.asc Description: PGP signature