Re: Build errors at link time - what am I missing?

2022-11-30 Thread Thomas Dickey
- 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?

2022-11-30 Thread Chris Green
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?

2022-11-30 Thread Chris Green
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?

2022-11-30 Thread Brendan O'Dea
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?

2022-11-30 Thread Chris Green
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?

2022-11-30 Thread Thomas Dickey
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