On Mon, Oct 24, 2011 at 08:32:30AM +0200, John R. Levine wrote: > >>It sounds to me like the right thing to do is to fix emacs' configuration > >>so it always uses the base system ncurses whether or not the package > >>version is there. Right? > > > >maybe/maybe not. It depends on what emacs needs - whether it only works > >with either its own termcap module or a conventional termcap library in > >the system. Probably its installation documentation tells what's needed. > > If you look at the build log I posted, it's failing because it's trying to > link in the system termcap library and failing because ncurses doesn't > provide it.
In other places, "-ltermcap" is symlinked to -lncurses ("provide" can be taken in more than one way - the functions are always available, whether or not the port is written to use them). A quick look at the emacs 23.3 sources shows various things relevant to ncurses: a) the configure script makes a special check on netbsd to use ncurses rather than the termcap library. b) it has a very old comment suggesting where to get the terminfo or termcap sources (pre-1997). c) the NEWS file points out that LIBS_TERMCAP is either terminfo or termcap. d) src/s/freebsd.h defines LIBS_TERMCAP to -lncurses unless the system is before FreeBSD 4.0 e) src/Makefile.in uses machine.h (in this case derived from the previously-mentioned file). There's enough in the emacs sources to make it pretty clear that a failure to have emacs find the termcap functions would be a problem in the emacs port - emacs prefers -lncurses to -ltermcap unless it's being overridden. -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net
pgpMGBWQidJAa.pgp
Description: PGP signature