Re: [exim] Exim 4.8 build issue

Top Page
Delete this message
Reply to this message
Author: David Godfrey
Date:  
To: exim-users
Subject: Re: [exim] Exim 4.8 build issue
George R. Kasica wrote:

> OK...Here is what is in OS/os.h-Linux
>
> # vi os.h-Linux
>
> /* Exim: OS-specific C header file for Linux */
>
> /* Some old systems we've received bug-reports for have a <limits.h>
> which
> does not pull in <features.h>. Best to just pull it in now and have
> done
> with the issue. */
>
> #include <features.h>
>
>
> #define CRYPT_H
> #define GLIBC_IP_OPTIONS
> #define HAVE_MMAP
> #define HAVE_BSD_GETLOADAVG
> #define HAVE_SYS_STATVFS_H
> #define NO_IP_VAR_H
> #define SIG_IGN_WORKS
>
> #define __USE_ISOC99
>
>
> running a
>
> make clean
> and then
>
> make gets me
>
> expand.c: In function 'eval_op_mult':
> expand.c:3196:25: error: 'LLONG_MIN' undeclared (first use in this
> function)
> expand.c:3196:25: note: each undeclared identifier is reported only
> once for each function it appears in
> expand.c:3200:28: error: 'LLONG_MAX' undeclared (first use in this
> function)
> expand.c: In function 'expand_string_integer':
> expand.c:6178:17: error: 'LLONG_MAX' undeclared (first use in this
> function)
> expand.c:6178:43: error: 'LLONG_MIN' undeclared (first use in this
> function)
> make[1]: *** [expand.o] Error 1
> make[1]: Leaving directory
> `/mnt/scsi-1/Linux/exim-4.80/build-Linux-i386'
> make: *** [all] Error 2
>
>
> which looks to my very unskilled eyes to be the same as earlier
> attempts. What'snext to try??
>
> As to planning a new system yes, at some point I'd like to get the
> whole thing on Fedora Core-16/whatever is current but right now the
> box is supporting several things that I have yet to port over to the
> other box...guess I'll need to start figuring those out or tell users
> that some functions are simply going away....which isn't really an
> option as the major three users of the box which keep it running (ie
> pay the bills) need those features.
>
> :(
>


I've hit the same compilation problem on a hand-crafted system running
glibc-2.2 and linux-2.6.7 kernel. Everything up to 4.77 compiled OK.

I noticed that OS/os.h-HP-UX contains:
#define LLONG_MIN LONG_LONG_MIN
#define LLONG_MAX LONG_LONG_MAX

so I patched expand.c with:
--- src/expand.c    2012-05-31 01:40:15.000000000 +0100
+++ src/expand.c.new    2012-06-03 18:09:01.000000000 +0100
@@ -11,6 +11,12 @@


#include "exim.h"

+/* dcg fix 3/6/2012 */
+#ifndef LLONG_MIN
+#define LLONG_MIN LONG_LONG_MIN
+#define LLONG_MAX LONG_LONG_MAX
+#endif
+
/* Recursively called function */

static uschar *expand_string_internal(uschar *, BOOL, uschar **, BOOL, BOOL);


This compiled OK. Will it work?

Regards
--
Dave Godfrey
dave@???