On Tue, 22 Jan 2002, Frédéric L. W. Meunier wrote:
> I tried to compile 3.34 and it stops at:
>
> gcc -O -o exim_dbmbuild exim_dbmbuild.c \
> -lnsl -lcrypt -ldb
> In file included from dbfn.h:107,
> from exim.h:332,
> from exim_dbmbuild.c:30:
> /usr/include/db.h:634: parse error before numeric constant
> make[1]: *** [exim_dbmbuild] Error 1
> make[1]: Leaving directory `/home/pervalidus/tmp/objdir/build-Linux-i386'
> make: *** [go] Error 2
Which operating system? Which DBM library do you have installed? What
DBM options did you set in Local/Makefile?
If the answer to the second question is "Berkeley DB 4.xx", try the
patch below.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.
*** exim-3.34/src/config.h.defaults Wed Dec 19 11:50:26 2001
--- src/config.h.defaults Fri Jan 18 11:22:03 2002
***************
*** 27,33 ****
#define DIRECTOR_SMARTUSER
#define DB_DIRECTORY_MODE 0750
! #define DB_LOCK_TIMEOUT 60
#define DB_MODE 0640
#define DB_LOCKFILE_MODE 0640
--- 27,33 ----
#define DIRECTOR_SMARTUSER
#define DB_DIRECTORY_MODE 0750
! #define DB_LOCK_TIMEOUT_EXIM 60
#define DB_MODE 0640
#define DB_LOCKFILE_MODE 0640
*** exim-3.34/src/dbfn.c Wed Dec 19 11:50:27 2001
--- src/dbfn.c Fri Jan 18 11:22:26 2002
***************
*** 125,131 ****
sigalrm_seen = FALSE;
os_non_restarting_signal(SIGALRM, sigalrm_handler);
! alarm(DB_LOCK_TIMEOUT);
rc = fcntl(dbblock->lockfd, F_SETLKW, &lock_data);
alarm(0);
signal(SIGALRM, SIG_IGN);
--- 125,131 ----
sigalrm_seen = FALSE;
os_non_restarting_signal(SIGALRM, sigalrm_handler);
! alarm(DB_LOCK_TIMEOUT_EXIM);
rc = fcntl(dbblock->lockfd, F_SETLKW, &lock_data);
alarm(0);
signal(SIGALRM, SIG_IGN);