I have recently installed glibc-2.0.108 and it saw fit to delete
/usr/include/ndbm.h as part of its installation. This reveals a logic
error in XEmacs.
In configure, the existence of ndbm.h is tested and the symbol
HAVE_NDBM_H should be defined in src/config.h. It isn't. This causes
a bomb when compiling src/database.c here:
#ifdef HAVE_DBM
#include <ndbm.h>
Lisp_Object Qdbm;
#endif /* HAVE_DBM */
I think the correct guard should be `HAVE_NDBM_H', though something is
twisted with glibc deleting someone else's include file.
configure:10933: checking for database support
configure:10940: checking for ndbm.h
configure:10948: gcc -E -I/usr/X11/include conftest.c >/dev/null
2>conftest.out
configure:10944: ndbm.h: No such file or directory
configure: failed program was:
#line 10943 "configure"
#include "confdefs.h"
#include <ndbm.h>
Configure --extra-verbose output:
checking for database support
checking for ndbm.h... no
checking for dbm_open... no
checking for dbm_open... no
checking for dbm_open in -ldbm... yes
Defining HAVE_DBM
Prepending "-ldbm" to $LIBS
uname -a: Linux
demeter.xemacs.org 2.1.132 #2 SMP Sun Dec 20 00:04:14 PST 1998 i686
unknown
./configure '--cflags=-mpentiumpro -O6 -fno-exceptions'
'--error-checking=none' '--debug=no' '--with-mule=yes'
'--with-dialogs=athena3d' '--with-scrollbars=athena3d'
'--use-union-type=no' '--with-xim=xlib' '--with-xfs'
'--mail-locking=file' '--extra-verbose=no'
XEmacs 21.2-b6 "Apollo" configured for `i686-pc-linux'.
Where should the build process find the source code? /devel/xemacs/xemacs-21.2
What installation prefix should install use? /usr/local
What operating system and machine description files should XEmacs use?
`s/linux.h' and `m/intel386.h'
What compiler should XEmacs be built with? gcc -mpentiumpro -O6
-fno-exceptions
Should XEmacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should XEmacs use the relocating allocator for buffers? yes
What window system should XEmacs use? x11
Where do we find X Windows header files? /usr/X11/include
Where do we find X Windows libraries? /usr/X11/lib
Compiling in support for XAUTH.
Compiling in support for XPM images.
Compiling in support for PNG image handling.
Compiling in support for (builtin) GIF image handling.
Compiling in support for JPEG image handling.
Compiling in support for TIFF image handling.
Compiling in support for X-Face message headers.
Compiling in native sound support.
Compiling in support for Berkeley DB.
Compiling in support for DBM.
Compiling in support for ncurses.
Compiling in support for GPM (General Purpose Mouse).
Compiling in Mule (multi-lingual) support.
Compiling in XIM (X11R5+ I18N input method) support.
Using raw Xlib to provide XIM support.
Using XFontSet to provide bilingual menubar.
Compiling in support for Canna on Mule.
Compiling in support for proper session-management.
Using Lucid menubars.
Using Athena-3d scrollbars.
Using Athena-3d dialog boxes.
Compiling in DLL support.
movemail will use "dot-locking" for locking mail spool files.
Using Lisp_Objects with minimal tagbits.