NetBSD-Users archive

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

Re: segfault in libterminfo with ncurses with nethack



On Fri 01 Sep 2023 at 08:36:08 +0000, RVP wrote:
> This _really_ ought to be fixed once and for all.

I did an experiment with a Makefile.test which just contains

PREFER.curses=          pkgsrc
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/termcap.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

and then "make -f Makefile.test show-all-termcap" shows

termcap:
  usr   USE_BUILTIN.termcap=    yes
  sys   CHECK_BUILTIN.termcap=  no
  sys   BUILTIN_LIBNAME.termcap= termcap
  sys   TERMCAP_TYPE=           termcap
  sys   BUILDLINK_PREFIX.termcap # undefined
  sys   BUILDLINK_LIBNAME.termcap= termcap
  sys   BUILDLINK_LDADD.termcap= -ltermcap
  sys   BUILDLINK_PREFIX.curses= /usr/pkg
  sys   BUILDLINK_LIBNAME.curses= ncurses
  sys   BUILDLINK_LDADD.curses= -lncurses
  use   CURSES_TYPE=            ncurses
  def   _TERMCAP_TYPES=         terminfo curses termcap termlib tinfo
  def   BUILD_DEFS_EFFECTS=     CURSES_TYPE TERMCAP_TYPE
  def   BUILDLINK_TRANSFORM=    l:ncursesw:__nonexistent__ l:curses:ncurses rm:-lterminfo rm:-ltermlib rm:-ltinfo l:termcap:termcap l:form:gnuform l:panel:gnupanel l:menu:gnumenu

Looking at BUILDLINK_TRANSFORM, it looks like there is an intention to
remove -lterminfo from the linker. However, at least in the case of
NetHack, that didn't work; libterminfo was still linked. In fact it
wasn't even mentioned on the linker command line and still it was there.

Then I noticed the symlink: /usr/lib/libtermcap.so@ -> libterminfo.so
That's probably how it got linked, and not removed...

I didn't look much further for now, since omitting termcap / terminfo
indeed results in a working nethack.

> -RVP
-Olaf.
-- 
___ Olaf 'Rhialto' Seibert                            <rhialto/at/falu.nl>
\X/ There is no AI. There is just someone else's work.           --I. Rose

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index