Autor: George R Kasica Datum: To: Todd Lyons CC: exim-users, David Godfrey, Jeremy Harris Betreff: Re: [exim] Exim 4.8 build issue
Will give this a go Wednesday and let you know what I find out.
Thank you all.
>On Tue, 5 Jun 2012 09:39:34 -0700, you wrote: >On Tue, Jun 5, 2012 at 9:26 AM, George R. Kasica <georgek@???> wrote:
>>>>>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
>>>>>+
>>>> David:
>>>>
>>>> You win the virtual beer (or whatever you'd like)
>>>> Your patch fixed this issue and we're running on 4.8.0
>>>
>>>Note that this is basically what Phil told you to do in your
>>>os.h-Linux :-) David defined it in the file that he needed it to be
>>>in, whereas putting it in os.h-Linux would just make it globally
>>>visible. I quote Phil:
>> Thought I did the below but actually his earlier steps of 4
>> lines...which failed.
>> What change do you recommend making your patch or his edit....I
>>
>> totally missed that one here too many things flying back & forth.
>>>> Alternatively, you might be able to rip the <features.h> line out of
>>>> os.h-Linux and replace it with the sort of thing which os.h-HP-UX has:
>>>>
>>>> ----------------------------8< cut here >8------------------------------
>>>> #define LLONG_MIN LONG_LONG_MIN
>>>> #define LLONG_MAX LONG_LONG_MAX
>>>>----------------------------8< cut here >8------------------------------
>
>First, if it works the way David mentioned, then you know you have a
>working case. You don't *need* to do this. However, if you want to
>test what I consider the proper way:
>
>1. make distclean
>2. patch OS/os.h-Linux by adding the two #define statements
>3. build it. If it fails...
>4. patch OS/os.h-Linux by also commenting out the #include <features.h> line
>5. make distclean
>6. build it.
>
>If it still fails past this point, then I think your working case
>should just be considered the easiest way to fix it and you should
>just walk away smiling :-)
>
>...Todd