Re: [exim] Exim 4.8 build issue

Top Page
Delete this message
Reply to this message
Author: George R Kasica
Date:  
To: exim-users
CC: gkasica, Jeremy Harris
Subject: Re: [exim] Exim 4.8 build issue
>On Mon, 4 Jun 2012 16:24:10 -0400, you wrote:

>On 2012-06-04 at 07:52 -0500, George R. Kasica wrote:
>> Yes, its out there...here is the contents as well:
>
>> # ifdef __USE_ISOC99
>>
>> /* Minimum and maximum values a `signed long long int' can hold.  */
>> #   define LLONG_MAX    9223372036854775807LL
>> #   define LLONG_MIN    (-LLONG_MAX - 1LL)

>>
>> /* Maximum value an `unsigned long long int' can hold. (Minimum is
>> 0.) */
>> # define ULLONG_MAX 18446744073709551615ULL
>>
>> # endif /* ISO C99 */
>
>Remove the four lines which you added. Instead add:
>
>#define __USE_ISOC99
>
>That *should* happen automatically in a GNU libc environment when
>_GNU_SOURCE is defined. That it's not happening is a symptom of some
>issues. You've probably reached the point where it's worth designing
>what you want your next OS build to look like and starting from more
>current versions of software.
>
>We discarded the idea of defining __USE_ISOC99 in Exim, because it's a
>double-underbar constant and not the sort of thing we're supposed to be
>touching in an application. _GNU_SOURCE is the documented interface
>which we use.
>

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.

:(