Jeffrey Goldberg wrote:
>
> I don't quite know how all the Makefiles and build scripts are set-up, but
> just taking a quick look at the relavent bits of code that failed.
>
> 832 #if (!defined __GLIBC__) || (__GLIBC__ < 2)
> 833 int optlen = sizeof(struct ip_options) + MAX_IPOPTLEN;
> 834 struct ip_options *ipopt = store_malloc(optlen);
> 835 #else
> 836 struct ip_opts ipoptblock;
> 837 struct ip_opts *ipopt = &ipoptblock;
> 838 int optlen = sizeof(ipoptblock);
> 839 #endif
>
> The others places are similar in that they have the same
> #if
>
> It looks like you "should" according to the assumtions of the code, have
> __GLIBC__ defined (probably to 5), but don't. This is info that should
> be coming from your C compiler. Unless your Linux system is truly
> ancient, I find it hard to imagine that you are using something that
> isn't GLIBC 4, 5, or 6.
>
> I know that none of this is of any immediate help, but maybe what
> I say will help someone else on the list come up with a more useful
> comment (including telling me that I am completely wrong, if I am).
Exim used to place a hack in os.h-Linux which covered this case:
/* Fudge added because this Linux doesn't appear to have a definition
for ip_options in /usr/include/linux/ip.h. */
#define ip_options options
In 1.91, it doesn't seem to be added anymore. I put it in by hand, and
it compiled fine on my libc5 Debian system.
--Galen
--
*** Exim information can be found at
http://www.exim.org/ ***