Further testing of Sendmail-8.12.10 v. Apple's Sendmail-40


Looks like Sendmail-8.12.10 will not, in fact compile with Apple's GCC 3.3...

Further testing today proves that the standard Sendmail-8.12.10 sources will not compile with Apple's GCC 3.3 without some modifications. The first error I got was that GCC 3.3 no longer supports <varargs.h>, and the code should updated to use <stdarg.h>. I tried a multi-file find/replace with BBEdit (and copied the stdarg.h from /usr/include/gcc/darwin/3.3), but apparently there are more problems, so I'm not going to spend any more time on it--I'll leave that to the people who know better...

The Sendmail-8.12.10 sources do compile just fine with GCC 3.1, so I think that ultimately this is a better solution than patching the Apple Sendmail-40 sources with the parse8.359.2.8 patch. BTW, the patch doesn't work on the Apple sources if you follow the directions from sendmail.org, but it's easy enough to apply manually. The patch changes two lines in parseaddr.c. If you look at the original source and the patch diff side-by-side, you'll see that the changes total four characters around Lines 700-710.

If you do elect to go this route, remember to change version.c to reflect the presence of the patch.

However, I think 8.12.10 also includes other things besides the patch, so I believe it's the better path. Just run "gcc_select 3" to get back to the 3.1 compiler and let her rip...

Posted: Sun - September 28, 2003 at 03:58      


©