On 04.01.23 14:45, Chris Green wrote:
On Wed, Jan 04, 2023 at 02:15:54PM +0100, joerg van den hoff wrote:


On 04.01.23 12:22, Chris Green wrote:
On Wed, Jan 04, 2023 at 11:15:24AM +0100, joerg van den hoff wrote:
happy long time vile user here: I have used vile for a long time under
OSX and compiles always "just
worked".

now, I have tried to compile it under OpenSuse linux on an old laptop I
have started playing around
with, but no luck. I get lot's of

undefined reference to `tputs'

and similar errors (referring to `tgoto', `tgetent', `tgetflag', `tgenum'
etc.) and compile fails.
the executed `./configure' run did not show any obvious problems.

since I am a) totally new to OpenSuse and b) not into C programming I am
at a loss where to look to
find out which library or header file is missing (which I guess is the
issue here?). I guessed at
"termcap" and installed that package but that didn't help.

any advice would be appreciated :).

The way I do it on Linux is to install the libncurses-dev package and
then './configure --with-ncurses'.

thank you, but no luck:

* no "-dev" package on opensuse

* but there _is_ a /lib64/libncurses.so.6 already installed

* ./configure --with-ncurses errors out with:

Yes, that's as expected, you need whatever opensuse calls the -dev
package as that has the header files etc. that are bing looked for.

I did a quick search and it would appear that opensuse uses a
different way to handle installing development resources, see:-

     https://www.osradar.com/install-development-build-tools-opensuse/

ah I see, thanks a lot for the heads up. as said: as of today I am a "3 days opensuse user" and it would not have occurred to me that many libs and tools are not there (although I noted absence of 'gcc' and 'make' and installed them individually yesterday during the attempt to compile vile ;)).

for the mail archive: following the advice in your link above I did

sudo zypper install -t pattern devel_basis
./configure
make

and, YES!, this time I've got a working `vile` executable :). problem really solved it seems (and solely caused by so far incomplete setup of my pristine opensuse machine).

for completeness: the `make' run generated

mv vile ovile
mv: cannot stat 'vile': No such file or directory
make: [makefile:341: vile] Error 1 (ignored)

at the end prior to final `gcc' run. I presume that is intended to mv a previously compiled `vile' instance out of the way? maybe there is a missing check for existence of a file named `vile' prior to the attempt to move/rename it? even a spurious error message always causes alarm ;).


You could alternatively build ncurses yourself  (see below)
.
.
.
checking for screen type... termcap
checking if you want to use ncurses... yes
Looking for ncurses-config
checking for ncurses6-config... no
checking for ncurses5-config... no
checking for ncurses header in include-path... no
checking for ncurses include-path... configure: error: not found


same happens if `--with-curses-dir=/lib64' is specified.

as said, bare-bones ./configure runs to completion but then the make fails with 
the stated
'undefined reference' errors. I now have filtered out all `configure' messages
appearing on stderr:

configure: WARNING: Your lex program does not support POSIX %pointer.  Get flex.
configure: WARNING: Your lex program does not support POSIX character classes.  
Get flex.
configure: WARNING: Your lex program does not support POSIX options.  Get flex.
configure: WARNING: disabling build for lex-filters
configure: WARNING: Cannot find -ltermlib, -lcurses, or -ltermcap

apart from the flex issue (went indeed away after installing it ;)): I
don't understand why none of
those 3 libs is found:

* termlib indeed seems not available as an opensuse package

* but I do have /lib64/libncurses.so.6 and even setting LDLFAGS=-L/lib64 did 
not change anything

* I also do have /usr/lib64/libtermcap.so.2 (which I manually installed

You can download .tgz files for reflex and ncurses from the vile web
site at invisible island.  I've done this on a couple of systems where
I don't have root access and have build them with '--prefix=$HOME',
then tell vile's ./comfigure where to find them and you're done.

noted, thank you. but since the "install dev-tools" approach above worked, there currently seems no need for this.


If you don't have a [f]lex that vile likes you won't be able to build
built-in syntax filters.

understood. that one I had fixed by installing flex individually.


again, thanks a lot for your help! I can now active `alias vi=vile' and EDITOR=vile in my .kshrc and be happy again.

best,
joerg

Reply via email to