Subject: pkg/11169: fetchmail build fails w/ kerberos and ssl
To: None <gnats-bugs@gnats.netbsd.org>
From: Kimmo Suominen <kim@tac.nyc.ny.us>
List: netbsd-bugs
Date: 10/08/2000 10:30:15
>Number:         11169
>Category:       pkg
>Synopsis:       fetchmail build fails w/ kerberos and ssl
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Oct 08 10:30:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Kimmo Suominen
>Release:        1.4.3
>Organization:
Kimmo Suominen
>Environment:
System: NetBSD pyry.gw.com 1.4.3 NetBSD 1.4.3 (GW-GENERIC) #8: Sun Oct 8 05:29:46 EEST 2000 kim@pyry.gw.com:/net/pyry/src-2/NetBSD/cvsroot/src/sys/arch/i386/compile/GW-GENERIC i386

pkgsrc from 2000-10-08 09:12 EEST (Europe/Helsinki)

>Description:
The <des.h> include files for Kerberos IV and OpenSSL conflict.
The package should not try to build with both enabled.  I think
FETCHMAIL_USE_SSL=YES should imply no Kerberos support.

cc -DHAVE_CONFIG_H -c  -I. -I. -I/usr/pkg/include -I/usr/pkg/include/openssl -DKERBEROS_V4 -I/usr/include/kerberosIV -O2 driver.c
In file included from driver.c:56:
/usr/pkg/include/openssl/des.h:78: warning: redefinition of `des_cblock'
/usr/include/kerberosIV/des.h:11: warning: `des_cblock' previously declared here
/usr/pkg/include/openssl/des.h:84: redefinition of `struct des_ks_struct'
/usr/pkg/include/openssl/des.h:92: warning: redefinition of `des_key_schedule'
/usr/include/kerberosIV/des.h:21: warning: `des_key_schedule' previously declared here
/usr/pkg/include/openssl/des.h:125: conflicting types for `des_cbc_cksum'
/usr/include/kerberosIV/des.h:56: previous declaration of `des_cbc_cksum'
/usr/pkg/include/openssl/des.h:129: conflicting types for `des_cbc_encrypt'
/usr/include/kerberosIV/des.h:57: previous declaration of `des_cbc_encrypt'
/usr/pkg/include/openssl/des.h:138: conflicting types for `des_cfb_encrypt'
/usr/include/kerberosIV/des.h:58: previous declaration of `des_cfb_encrypt'
/usr/pkg/include/openssl/des.h:140: conflicting types for `des_ecb_encrypt'
/usr/include/kerberosIV/des.h:59: previous declaration of `des_ecb_encrypt'
/usr/pkg/include/openssl/des.h:151: conflicting types for `des_encrypt'
/usr/include/kerberosIV/des.h:60: previous declaration of `des_encrypt'
/usr/pkg/include/openssl/des.h:188: conflicting types for `des_enc_read'
/usr/include/kerberosIV/des.h:61: previous declaration of `des_enc_read'
/usr/pkg/include/openssl/des.h:190: conflicting types for `des_enc_write'
/usr/include/kerberosIV/des.h:62: previous declaration of `des_enc_write'
/usr/pkg/include/openssl/des.h:197: conflicting types for `des_ofb_encrypt'
/usr/include/kerberosIV/des.h:63: previous declaration of `des_ofb_encrypt'
/usr/pkg/include/openssl/des.h:200: conflicting types for `des_pcbc_encrypt'
/usr/include/kerberosIV/des.h:64: previous declaration of `des_pcbc_encrypt'
/usr/pkg/include/openssl/des.h:202: conflicting types for `des_quad_cksum'
/usr/include/kerberosIV/des.h:82: previous declaration of `des_quad_cksum'
/usr/pkg/include/openssl/des.h:204: conflicting types for `des_random_key'
/usr/include/kerberosIV/des.h:77: previous declaration of `des_random_key'
/usr/pkg/include/openssl/des.h:205: conflicting types for `des_read_password'
/usr/include/kerberosIV/des.h:78: previous declaration of `des_read_password'
/usr/pkg/include/openssl/des.h:207: conflicting types for `des_read_2passwords'
/usr/include/kerberosIV/des.h:79: previous declaration of `des_read_2passwords'
/usr/pkg/include/openssl/des.h:208: conflicting types for `des_read_pw_string'
/usr/include/kerberosIV/des.h:80: previous declaration of `des_read_pw_string'
/usr/pkg/include/openssl/des.h:219: conflicting types for `des_string_to_key'
/usr/include/kerberosIV/des.h:71: previous declaration of `des_string_to_key'
/usr/pkg/include/openssl/des.h:220: conflicting types for `des_string_to_2keys'
/usr/include/kerberosIV/des.h:72: previous declaration of `des_string_to_2keys'
/usr/pkg/include/openssl/des.h:260: conflicting types for `bit_64'
/usr/include/kerberosIV/des.h:48: previous declaration of `bit_64'
driver.c: In function `kerberos_auth':
driver.c:1288: warning: passing arg 1 of `krb_realmofhost' discards `const' from pointer target type
driver.c:1295: warning: passing arg 5 of `krb_sendauth' discards `const' from pointer target type
*** Error code 1

>How-To-Repeat:
Try to build with both Kerberos and SSL enabled.
>Fix:
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/mail/fetchmail/Makefile,v
retrieving revision 1.76
diff -u -r1.76 Makefile
--- Makefile	2000/09/09 19:40:18	1.76
+++ Makefile	2000/10/08 17:28:34
@@ -16,6 +16,7 @@
 CONFIGURE_ARGS+=--without-hesiod
 CONFIGURE_ENV+=  LDFLAGS="${CFLAGS}"
 
+BUILD_DEFS+=	FETCHMAIL_USE_SSL
 BUILD_DEFS+=	USE_INET6
 
 .include "../../mk/bsd.prefs.mk"
@@ -25,18 +26,15 @@
 .if defined(FETCHMAIL_USE_SSL) && ${FETCHMAIL_USE_SSL} == YES
 USE_SSL=	yes
 CONFIGURE_ARGS+=--with-ssl=${SSLBASE}
+CONFIGURE_ARGS+=--with-kerberos=no
 .else
 CONFIGURE_ARGS+=--without-ssl
-.else
-.endif
-
-BUILD_DEFS+=	FETCHMAIL_USE_SSL
-
 .if defined(KERBEROS) && ${KERBEROS} == 4
 USE_KERBEROS=	yes
 CONFIGURE_ARGS+=--with-kerberos=yes
 .else
 CONFIGURE_ARGS+=--with-kerberos=no
+.endif
 .endif
 
 .if defined(USE_INET6) && ${USE_INET6} == YES
>Release-Note:
>Audit-Trail:
>Unformatted: