On Tue, Jun 5, 2012 at 9:26 AM, George R. Kasica <[email protected]> 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 -- Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Martin Golding -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
