Re: Missing compile_et and kerberos breaks buildworld

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Tue, 15 Jan 2013 16:46:01 -0800
On Tue, Jan 15, 2013 at 06:44:39PM -0500, Glen Barber wrote:
> On Tue, Jan 15, 2013 at 03:35:25PM -0800, Steve Kargl wrote:
> > 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_at_ 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:
> > 
> 
> For what it is worth, reverting the removal of NO_FOO, et. al, will not
> fix your issue.

Actually, it would because the NO_KERBEROS="YES" in /etc/make.conf
would bypass building kerberos. :-)  And yes, I've changed NO_KERBEROS
to WITHOUT_KERBEROS and buildworld survives.  I'm now looking into
just how broken is bootstrapping kerberos.

> I ran into this several months ago, and found out "the
> hard way" that many of our ports require kerberos, even if they do not
> advertise it - so building without kerberos on the system would fail.
> 
> I started digging into it, and found what you found - compile_et does
> not get built prior to building the kerberos bits.

Thanks for confirming my fears.

> It actually gets quite worse from there.

Yep. :(
I just hit

cc -O2 -pipe -march=opteron -DLINEMODE -DUSE_TERMIO -DDIAGNOSTICS -DOLD_ENVIRON  -DENV_HACK -DSTREAMSPTY -DINET6 -I/usr/src/libexec/telnetd/../../contrib/telnet -DAUTHENTICATION -DENCRYPTION -DKRB5 -DFORWARD -Dnet_write=telnet_net_write -std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-conversion -Wno-switch -Wno-switch-enum  -o telnetd global.o slc.o state.o sys_term.o telnetd.o termstat.o utility.o authenc.o -lutil -ltermcap /usr/obj/usr/src/libexec/telnetd/../../lib/libtelnet/libtelnet.a -lmp -lcrypto -lcrypt -lpam -lkrb5 -lhx509 -lasn1 -lroken -lcom_err
/usr/obj/usr/src/tmp/usr/lib/libroken.so: undefined reference to `unvis_at_FBSD_1.0cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [telnetd] Error code 1

>  I do not recall the details
> off-hand, but I recall doing 'make obj all install' in somewhat this
> order:
> 
>  - secure/
>  - include/
>  - kerberos5/
>  [some steps may be missing]

Thanks for a possible roadmap.  

-- 
Steve
Received on Tue Jan 15 2013 - 23:46:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:34 UTC