From owner-freebsd-current@FreeBSD.ORG Tue Jan 15 23:35:31 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3F52F631 for ; Tue, 15 Jan 2013 23:35:31 +0000 (UTC) (envelope-from sgk@troutmask.apl.washington.edu) Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) by mx1.freebsd.org (Postfix) with ESMTP id 29F3A2B7 for ; Tue, 15 Jan 2013 23:35:31 +0000 (UTC) Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.5/8.14.5) with ESMTP id r0FNZPq2018503 for ; Tue, 15 Jan 2013 15:35:25 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.5/8.14.5/Submit) id r0FNZP0A018502 for freebsd-current@freebsd.org; Tue, 15 Jan 2013 15:35:25 -0800 (PST) (envelope-from sgk) Date: Tue, 15 Jan 2013 15:35:25 -0800 From: Steve Kargl To: freebsd-current@freebsd.org Subject: Missing compile_et and kerberos breaks buildworld Message-ID: <20130115233525.GA18192@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jan 2013 23:35:31 -0000 It seems that buildworld depends on the existence of /usr/bin/compile_et if one wants to build WITH_KERBEROS on a system that has never had Kerberos support. I discovered this issue when des@ removed the NOFOO and NO_FOO options, and the NO_KERBEROS="YES" in my /etc/make.conf was neutered. The system in question has never had kerneros installed. One can emulate the problem as follows: % mv /usr/bin/compile_et /usr/bin/compile_et.old % cd /usr/src % make buildworld (a few hours later ... boom) ===> kerberos5/lib/libasn1 (buildincludes) compile_et /usr/src/kerberos5/lib/libasn1/../../../crypto/heimdal/lib/asn1/asn1_err.et compile_et: No such file or directory *** [asn1_err.h] Error code 1 Stop in /usr/src/kerberos5/lib/libasn1. *** [buildincludes] Error code 1 Stop in /usr/src/kerberos5/lib. *** [buildincludes] Error code 1 Stop in /usr/src/kerberos5. *** [includes] Error code 1 Stop in /usr/src/kerberos5. *** [kerberos5.includes__D] Error code 1 Stop in /usr/src. *** [_includes] Error code 1 Stop in /usr/src. *** [buildworld] Error code 1 Stop in /usr/src. The obvious step of installing compile_et gives % cd /usr/src/usr.bin/compile_et % make depend yacc -d -o parse.c /usr/src/usr.bin/compile_et/../../contrib/com_err/parse.y lex -t /usr/src/usr.bin/compile_et/../../contrib/com_err/lex.l > lex.c rm -f .depend mkdep -f .depend -a -I. -I/usr/src/usr.bin/compile_et/../../contrib/com_err -std=gnu99 /usr/src/usr.bin/compile_et/../../contrib/com_err/compile_et.c parse.c lex.c /usr/src/usr.bin/compile_et/../../contrib/com_err/compile_et.c:39:20: error: getarg.h: No such file or directory /usr/src/usr.bin/compile_et/../../contrib/com_err/compile_et.c:41:19: error: roken.h: No such file or directory mkdep: compile failed *** [.depend] Error code 1 so it appears that I need to build and install libroken to get the headers getarg.h and roken.h installed in /usr/include. % cd /usr/src/kerberos5/lib/libroken % make depend make-roken > roken.h make-roken: not found *** [roken.h] Error code 127 Stop in /usr/src/kerberos5/lib/libroken. Ok. Let's try building make-roken. % cd /usr/src/kerberos5/tools/make-roken % make depend && make && make install Hooray, that worked. % cd /usr/src/kerberos5/lib/libroken % make depend Hooray, again. % make (boom) cc -O2 -pipe -march=opteron -I/usr/src/kerberos5/lib/libroken/../../../crypto/heimdal/lib/roken -I. -DHAVE_CONFIG_H -I/usr/src/kerberos5/lib/libroken/../../include -std=gnu99 -fstack-protector -c /usr/src/kerberos5/lib/libroken/../../../crypto/heimdal/lib/roken/copyhostent.c -o copyhostent.o /usr/src/kerberos5/lib/libroken/../../../crypto/heimdal/lib/roken/copyhostent.c:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'struct' *** [copyhostent.o] Error code 1 Stop in /usr/src/kerberos5/lib/libroken. :( % make clean && make depend % make && make install That worked! (Apparently, something in the previous buildworld made cc unhappy.) % cd /usr/src/usr.bin/compile_et % make (boom) cc -O2 -pipe -march=opteron -I. -I/usr/src/usr.bin/compile_et/../../contrib/com_err -std=gnu99 -fstack-protector -Wno-pointer-sign -o compile_et compile_et.o parse.o lex.o -lroken /usr/obj/usr/src/usr.bin/compile_et/../../kerberos5/lib/libvers/libvers.a cc: /usr/obj/usr/src/usr.bin/compile_et/../../kerberos5/lib/libvers/libvers.a: No such file or directory *** [compile_et] Error code 1 % cd /usr/src/kerberos5/lib/libvers % make depend && make && make install Ok. % cd /usr/src/usr.bin/compile_et % make clean && make depend && make && make install % cd /usr/src % make buildenv Entering world for amd64:amd64 # which compile_et /usr/bin/compile_et # exit Whoops. That can't be right. % make -DNO_CLEAN buildworld and buildworld seems to be back on-track. -- Steve