tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

mail/libmilter fails ot build on macOS 10.13



I just tried to build libmilter on macOS 10.13 (for clamav, and I don't
actually need milter, but that's not the point).
It fails to build with:
 cc -pipe -O3 -I. -I../../sendmail -I../../include -DDARWIN=170000 -DBIND_8_COMPAT -DNETINET6 -I/opt/pkg/include -DSMRSH_CMDDIR=\"\" -DNETINET6 -DNEEDSGETIPNODE -DNOT_SENDMAIL -Dsm_snprintf=snprintf -DSM_CONF_POLL=1 -DXP_MT -I/usr/include -c sm_gethost.c
 sm_gethost.c:67:33: error: use of undeclared identifier 'sm_res'; did you mean '_res'?
 resv6 = bitset(RES_USE_INET6, sm_res.options);
 ^~~~~~
 _res
 ../../include/sm/bitops.h:55:31: note: expanded from macro 'bitset'
 # define bitset(bit, word) (((word) & (bit)) != 0)
 ^
 /usr/include/resolv.h:307:27: note: '_res' declared here
 extern struct __res_state _res;
 ^
 sm_gethost.c:68:3: error: use of undeclared identifier 'sm_res'; did you mean '_res'?
 sm_res.options |= RES_USE_INET6;
 ^~~~~~
 _res
 /usr/include/resolv.h:307:27: note: '_res' declared here
 extern struct __res_state _res;
 ^
 sm_gethost.c:75:3: error: use of undeclared identifier 'sm_res'; did you mean '_res'?
 sm_res.options &= ~RES_USE_INET6;
 ^~~~~~
 _res
 /usr/include/resolv.h:307:27: note: '_res' declared here
 extern struct __res_state _res;
 ^
 3 errors generated.
 *** Error code 1
I see in patch-ap this is patched from _res to sm_res, but the patch
doesn't have a comment and I didn't find an explanation. It seems there
are other patches that introduce this, and I wonder if something was
missed, although libmilter builds on NetBSD.
I have not been able to understand the sm_res scheme, but it seems
conditional on something, and I wonder if the conditionals of providing
it and using it are out of sync for mac somehow.
In particular in sm_resolve.c, I see patched
 +#if NAMED_BIND
 +extern struct __res_state sm_res;
 +#endif
and I don't follow that vs using the _res definition from the system
resolv.h, unless there's some system that doesn't provide it. I also
don't follow why the patch declares sm_res conditionally and appears to
use it unconditonally.
As you have set yourself to $OWNER, I'm writing instead of changing
anything, and would appreciate it if you could fix this by start of
freeze, expected early next week.
Thanks,
Greg

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /