I fixed this on my Linux Mandrake system by:
1) in OS/Makefile-Default, uncomment the line for # INCLUDE and set it
to be:
INCLUDE=-I/usr/include/db1
2) In OS/Makefile-Linux, change DBMLIB to be:
DBMLIB = -ldb1
Things compiled cleanly then, but I didn't check out the executable
yet (this was just last night, coincidentally).
Steven
> =================Original message text===============
> From: John (TJ) Penton <john@???>
> To: Richard D Vogel <richard@???>
> Date: Monday, September 9, 2002, 4:56:07 AM
> Subject: [Exim] db.h missiing on Build of Exim-4.10
>
> On Sun, 8 Sep 2002, Richard D Vogel wrote:
>> This is a multi-part message in MIME format.
>> --
>> [ Picked text/plain from multipart/alternative ]
>> While building Exim-4.10 on Mandrake 8.2 I got the error
>> db.h Missing . After reading all of the README's and INSTALL's and doc files I was still confused. Not being a C programmer or whatever, I finally figured out what they meant.
>>
>> If you are using gdbm you must include the following in your Local/Makefile
>>
>> DBMLIB = -lgdbm
>> USE_GDBM = yes
>>
>> If the file contains a USE_DB=yes TAKE IT OUT!!!!!!
>> I assume this also applies to the rest of the dbm's.
> Normally the compile will look for db.h in /usr/include/. On some systems
> (SUSE and Mandrake I believe) it is kept somewhere else (eg.
> /usr/include/db1/) and therefore the compiler can't find it. There are
> two ways of fixing it if this is the case:
> 1. Symlink from /usr/include/db.h to whereever your db.h resides.
> 2. Add a CFLAGS line to Local/Makefile like:
> CFLAGS = -I/usr/include/db1
> The directory should be the directory in which db.h is found.
> See the thread on this mailing list "compiler error" which is talking
> a bit about this issue.
> John
> --
> -...tut, tut, it looks like rain-
>
> =================End of original message text===========