Subject: pkg/29147: heimdal won't build on MacOS X 10.3.7 (Darwin 7.7.0)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Masahiro =Rhythm Drive= Ishiyama <masahiro@wide.ad.jp>
List: pkgsrc-bugs
Date: 01/28/2005 16:09:00
>Number:         29147
>Category:       pkg
>Synopsis:       heimdal won't build on MacOS X 10.3.7 (Darwin 7.7.0)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 28 16:09:00 +0000 2005
>Originator:     Masahiro =Rhythm Drive= Ishiyama <masahiro@wide.ad.jp>
>Release:        Darwin 7.7.0 / pkgsrc HEAD
>Organization:
>Environment:
System: Darwin grayswandir.local 7.7.0 Darwin Kernel Version 7.7.0: Sun Nov 7 16:06:51 PST 2004; root:xnu/xnu-517.9.5.obj~1/RELEASE_PPC Power Macintosh powerpc
Architecture: powerpc
Machine: Power Macintosh
>Description:

	Trying to build security/heimdal on Mac OS 10.3.7 (Darwin 7.7.0), I get the following errors:
	(NB: I have bind-9.2.3nb1)

===> Checking for vulnerabilities in heimdal-0.6.3nb3
===> Building for heimdal-0.6.3nb3
[snip]
Making all in roken
/usr/pkg/bin/bmake  all-am
/bin/sh ../../libtool --mode=compile gcc -pipe -DHAVE_CONFIG_H  -I. -I. -I../../include -I../../include -I../../lib/roken -I../../lib/roken  -no-cpp-precomp -I/usr/pkg/include/readline -I/usr/include  -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs -DINET6 -O2 -I/usr/pkg/include/readline -I/usr/include -c -o resolve.lo resolve.c
 gcc -pipe -DHAVE_CONFIG_H -I. -I../../include -I../../lib/roken -no-cpp-precomp -I/UFS/pkgsrc/security/heimdal/work/.buildlink/include/readline -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs -DINET6 -O2 -c resolve.c  -fno-common -DPIC -o .libs/resolve.o
resolve.c:59: error: `T_A' undeclared here (not in a function)
resolve.c:59: error: initializer element is not constant
resolve.c:59: error: (near initialization for `stot[0].type')
resolve.c:59: error: initializer element is not constant
resolve.c:59: error: (near initialization for `stot[0]')
resolve.c:60: error: `T_NS' undeclared here (not in a function)
resolve.c:60: error: initializer element is not constant
resolve.c:60: error: (near initialization for `stot[1].type')
resolve.c:60: error: initializer element is not constant
resolve.c:60: error: (near initialization for `stot[1]')
resolve.c:61: error: `T_CNAME' undeclared here (not in a function)
resolve.c:61: error: initializer element is not constant
resolve.c:61: error: (near initialization for `stot[2].type')
resolve.c:61: error: initializer element is not constant
resolve.c:61: error: (near initialization for `stot[2]')
resolve.c:62: error: `T_SOA' undeclared here (not in a function)
resolve.c:62: error: initializer element is not constant
resolve.c:62: error: (near initialization for `stot[3].type')
resolve.c:62: error: initializer element is not constant
resolve.c:62: error: (near initialization for `stot[3]')
resolve.c:63: error: `T_PTR' undeclared here (not in a function)
resolve.c:63: error: initializer element is not constant
resolve.c:63: error: (near initialization for `stot[4].type')
resolve.c:63: error: initializer element is not constant
resolve.c:63: error: (near initialization for `stot[4]')
resolve.c:64: error: `T_MX' undeclared here (not in a function)
resolve.c:64: error: initializer element is not constant
resolve.c:64: error: (near initialization for `stot[5].type')
resolve.c:64: error: initializer element is not constant
resolve.c:64: error: (near initialization for `stot[5]')
resolve.c:65: error: initializer element is not constant
resolve.c:65: error: (near initialization for `stot[6]')
resolve.c:66: error: initializer element is not constant
resolve.c:66: error: (near initialization for `stot[7]')
resolve.c:67: error: initializer element is not constant
resolve.c:67: error: (near initialization for `stot[8]')
resolve.c:68: error: initializer element is not constant
resolve.c:68: error: (near initialization for `stot[9]')
resolve.c:69: error: initializer element is not constant
resolve.c:69: error: (near initialization for `stot[10]')
resolve.c:70: error: initializer element is not constant
resolve.c:70: error: (near initialization for `stot[11]')
resolve.c:71: error: initializer element is not constant
resolve.c:71: error: (near initialization for `stot[12]')
resolve.c: In function `parse_record':
resolve.c:120: error: `MAXDNAME' undeclared (first use in this function)
resolve.c:120: error: (Each undeclared identifier is reported only once
resolve.c:120: error: for each function it appears in.)
resolve.c:153: error: `T_NS' undeclared (first use in this function)
resolve.c:154: error: `T_CNAME' undeclared (first use in this function)
resolve.c:155: error: `T_PTR' undeclared (first use in this function)
resolve.c:167: error: `T_MX' undeclared (first use in this function)
resolve.c:120: warning: unused variable `host'
resolve.c: In function `parse_reply':
resolve.c:344: error: `MAXDNAME' undeclared (first use in this function)
resolve.c:362: error: request for member `qdcount' in something not a structure or union
resolve.c:387: error: request for member `ancount' in something not a structure or union
resolve.c:394: error: request for member `nscount' in something not a structure or union
resolve.c:401: error: request for member `arcount' in something not a structure or union
resolve.c:344: warning: unused variable `host'
resolve.c: In function `rk_dns_lookup':
resolve.c:471: error: `C_IN' undeclared (first use in this function)
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3/lib/roken
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3/lib/roken
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3/lib
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/security/heimdal
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /UFS/pkgsrc/security/heimdal/work/.work.log
===> 
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/security/heimdal

	and,

Making all in krb5
[snip]
/bin/sh ../../libtool --mode=compile gcc -pipe -DHAVE_CONFIG_H  -I. -I. -I../../include -I../../include -I../../lib/roken -I../../lib/roken  -I/usr/include -I../com_err -I./../com_err  -no-cpp-precomp -I/usr/pkg/include/readline -I/usr/include  -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs -DINET6 -O2 -I/usr/pkg/include/readline -I/usr/include -c -o principal.lo principal.c
 gcc -pipe -DHAVE_CONFIG_H -I. -I../../include -I../../lib/roken -I../com_err -I./../com_err -no-cpp-precomp -I/UFS/pkgsrc/security/heimdal/work/.buildlink/include/readline -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs -DINET6 -O2 -c principal.c  -fno-common -DPIC -o .libs/principal.o
principal.c: In function `krb5_425_conv_principal_ext':
principal.c:749: error: `T_A' undeclared (first use in this function)
principal.c:749: error: (Each undeclared identifier is reported only once
principal.c:749: error: for each function it appears in.)
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3/lib/krb5
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3/lib
*** Error code 1

Stop.
bmake: stopped in /UFS/pkgsrc/security/heimdal/work/heimdal-0.6.3
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/security/heimdal
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /UFS/pkgsrc/security/heimdal/work/.work.log
===> 
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/security/heimdal

>How-To-Repeat:

	cd /usr/pkgsrc/security/heimdal; bmake 

>Fix:

	The following patch worked for me.

diff -ru work/heimdal-0.6.3/lib/krb5/principal.c work.new/heimdal-0.6.3/lib/krb5/principal.c
--- work/heimdal-0.6.3/lib/krb5/principal.c	Fri Aug 15 23:30:07 2003
+++ work.new/heimdal-0.6.3/lib/krb5/principal.c	Fri Jan 28 23:24:46 2005
@@ -38,6 +38,9 @@
 #ifdef HAVE_ARPA_NAMESER_H
 #include <arpa/nameser.h>
 #endif
+#if defined(__MACH__) && defined(__APPLE__) && defined(__ppc__)
+#include <nameser8_compat.h>
+#endif
 #include <fnmatch.h>
 #include "resolve.h"
 
diff -ru work/heimdal-0.6.3/lib/roken/resolve.c work.new/heimdal-0.6.3/lib/roken/resolve.c
--- work/heimdal-0.6.3/lib/roken/resolve.c	Wed Apr 23 00:02:47 2003
+++ work.new/heimdal-0.6.3/lib/roken/resolve.c	Fri Jan 28 21:34:25 2005
@@ -41,6 +41,9 @@
 #ifdef HAVE_RESOLV_H
 #include <resolv.h>
 #endif
+#if defined(__MACH__) && defined(__APPLE__) && defined(__ppc__)
+#include <nameser8_compat.h>
+#endif
 #include "resolve.h"
 
 #include <assert.h>