UPDATING revision 1.114
1$NetBSD: UPDATING,v 1.114 2004/03/26 17:48:13 jmc Exp $
2
3This file is intended to be a brief introduction to the build
4process and a reference on what to do if something doesn't work.
5
6For a more detailed description see Makefile.
7
8Recent changes:
9^^^^^^^^^^^^^^^
10
1120040326:
12
13	The method by which athhal-elf.o gets pulled into i386 kernel builds
14	has been changed. The file is now stored as a uuencode file in CVS
15	and the generated Makefile will use the new .uue rules from bsd.file.mk
16	to build it.
17
18	This means you must have the latest bsd.files.mk installed when
19	building a kernel without USETOOLS=yes.
20
2120040318:
22	A bug in the cgd(4) blowfish code was corrected, without
23	provision of backwards compatibility, after several public
24	notices over several months. Users of cgd with blowfish cipher
25	ONLY must dump their data before updating their kernels, and
26	recreate cgd's and restore data using the new kernel. See
27	(recent message to current-users, URL when mail-index has updated)
28
2920040313:
30	On acorn32, the opms and qms drivers have been withdrawn, and
31	the old wsqms driver is now called qms.  Kernel config files
32	will need updating.  See the ones in sys/arch/acorn32/conf
33	for examples.
34
3520040125:
36	On acorn32, the beep and sysbeep devices are no longer
37	needed, and will need to be deleted from kernel configuration
38	files.
39
4020040109:
41	Compatibility for old ffs superblock layouts has been
42	added, and the restrictive fsck checks have been reenabled
43	when using those layouts.  If you have been using -current
44	since 20030402, you may find that fsck again signals fatal
45	superblock mismatches.  To repair, make sure you have
46	an updated fsck_ffs and then you can use fsck_ffs -b 16 -c 4
47	to complete the filesystem upgrade.  A message has
48	been added to the kernel which should detect this problem.
49	See the following discussion for more information:
50	http://mail-index.NetBSD.org/current-users/2004/01/11/0022.html
51
5220031203:
53	New binutils builds may fail due to old dependencies.
54	It's necessary to "make cleandir" to ensure that
55	the dependencies will be rebuilt correctly.
56
5720031111:
58	A newer mkdep is needed.  Error noting that is
59		cc: Ambiguous abbreviation --
60
6120031008:
62	/usr/include/sys/disklabel_mbr.h was removed.
63	It's necessary to "make cleandir" to ensure that
64	the dependencies will be rebuilt correctly.
65
6620031007:
67	A sign exension bug was fixed which set all the high bits
68	of our newly expanded ffs fs_flags.  This should only
69	affect users who installed or upgraded in September of 2003.
70	A small utility program was posted to tech-kern which
71	should fix this problem, and a warning message was added
72	to the kernel which should discover and warn about it.  See
73	http://mail-index.NetBSD.org/tech-kern/2003/10/07/0005.html
74
7520030906:
76	With the addition of siginfo support the old signal trampoline
77	code has been deprecated to COMPAT_16. Make sure that your running
78	kernel has COMPAT_16 enabled before building userland.
79
8020030801:
81	With the new openssl, there is some header and library shuffling.
82	rm -f /usr/include/des.h /usr/include/kerberosIV/* /lib/libdes* \
83	/usr/lib/libdes* before building.
84
8520030703:
86	Texinfo was updated to 4.6.  To avoid failures when trying to
87	build the included texinfo files, do:
88
89	cd src/gnu/usr.bin/texinfo
90	make MKINFO=no dependall install
91
9220030630:
93	Groff was updated to 1.19; it's probably necessary to do
94		cd share/mk && make install
95		cd src/gnu/usr.bin/groff
96		make MKMAN=no dependall install
97	(untested).
98
9920030516:
100	Due to bugs in the export handling code, invalid export lines
101	were accepted before and caused the kernel to panic when
102	mountd got restarted because it freed memory that had already
103	been freed. This has been fixed and the kernel checks
104	export addresses very strictly. If you upgrade your kernel,
105	make sure you also upgrade mountd, because if your export
106	file contains lines with an old inet4 address syntax (i.e.
107	a.b.c or a.b or a), they will get rejected by the new kernel.
108
10920030402:
110	The superblock layout for FFS was changed.  If you have 1.6
111	fsck binaries, they will signal a fatal superblock mismatch
112	with the first alternate, because they compare too many
113	fields (even ones that aren't useful).  If possible, upgrade
114	your fsck_ffs binary before using a new kernel.
115	None of this signals actual filesystem damage.
116
11720030324:
118	sendmail version 8.12.8 was imported.  Since sendmail is
119	now setgid to the smmsp group, and runs in "collection"
120	mode for most common activities, there is a new config
121	file called submit.cf that needs to live in /etc/mail.
122	The generic submit.cf sample in /usr/share/sendmail/cf
123	is named netbsd-msp.cf.  Upgrading your regular sendmail
124	configuration file is also strongly advised.
125
126	See the section named "MESSAGE SUBMISSION PROGRAM" in
127	the updated /usr/share/sendmail/README file for more
128	information.
129
13020030117:
131	Texinfo was updated to 4.3.  To avoid failures when trying to
132	build the included texinfo files, do:
133
134	cd src/gnu/usr.bin/texinfo
135	make MKINFO=no dependall install
136
13720021223:
138	The METALOG format changed slightly, to remove the leading
139	"${DESTDIR}" from path names.
140	This only affects people building with UNPRIVED.
141	For complete safety, remove the DESTDIR entirely and
142	update tools/mtree, before running make build.
143
14420021219:
145	CVS repository layout was changed.  See the following for details
146	if you are using (anonymous) cvs to update your tree.
147
148	http://mail-index.NetBSD.org/netbsd-announce/2002/12/19/0000.html
149
15020021219:
151	install(1) had a '-N dbdir' option added, to specify an
152	alternate location to look up users & groups (instead
153	of the host system passwd(5) and group(5) databases).
154
155	The build system was modified to take advantage of
156	this option (using ${NETBSDSRCDIR}/etc), so if you
157	use USETOOLS==no, you may have to rebuild and
158	reinstall usr.bin/xinstall first.
159
16020021130:
161	fparseln(3) moved from libutil to libc.
162	If building to DESTDIR=/, reinstall the includes
163	and rebuild libc:
164		make includes
165		make do-lib-libc
166	If using build.sh, "cd tools/compat && make clean"
167	before rebuilding the tools.
168
16920021126:
170	The mk.conf(5) variable SYS_INCLUDE has been deprecated,
171	including the optional "SYS_INCLUDE=symlinks" support.
172	All header files, including <sys/*.h> are copied into
173	/usr/include.
174
17520021121:
176	The C run-time support files crtbegin.o and crtend.o
177	(and their companions crtbeginS.o and crtendS.o) were
178	split up, with new crti.o and crtn.o files resulting.
179	This means that libtool needs to be rebuilt once the
180	new libraries are installed.  The process of rebuilding
181	libtool will cause it to automatically notice the new
182	required files, but it *must* be rebuilt in order to
183	do this.
184
185	An out-of-date libtool will result in shared libraries
186	which lack _init() and _fini() routines, which means that
187	their global contructors/destructors will not be invoked.
188
18920021121:
190	A bug related to how ARM ELF objects were tagged has been
191	corrected.
192
193	NetBSD ARM ELF uses the soft-VFP floating point model by
194	default.  However, the assembler lacked support for marking
195	objects as using the VFP floating point format, and the
196	compiler was not properly passing the flag indicating "soft-VFP"
197	to the assembler.
198
199	Unfortunately, this means that the linker will now consider
200	old (i.e. not marked "softvfp") NetBSD ARM ELF objects to be
201	incompatible with new (properly marked) objects.
202
203	The problem will only manifest itself if you attempt to compile
204	a new program using the fixed toolchain, and link that program
205	against old libraries which do not have the proper "softvfp"
206	markings.  ALL OF YOUR EXISTING BINARIES AND SHARED LIBRARIES
207	WILL CONTINUE TO WORK PROPERLY.
208
209	The only work-around for the problem is to recompile all of
210	the libraries on the system.  The easiest way to do this for
211	system libraries is to install a binary snapshot; they are
212	generally available on releng.NetBSD.org.  Any packages you
213	have installed which supply libraries will have to be recompiled
214	if you wish to link new programs against those libraries.
215
216	If you have questions about this matter, please contact
217	port-arm@NetBSD.org.
218
21920021011:
220	Systrace has been improved to support privilege elevation.
221	Updating the kernel requires the userland part of systrace
222	to be rebuilt.
223
22420021010:
225	The config(8) grammar was changed to allow options to register
226	dependencies on attributes, as well as other options.  Users
227	must update and reinstall usr.sbin/config before building a new
228	kernel.
229
23020021009:
231	A new attribute dependency syntax was introduced to config(8),
232	which is now used by the SCSI configuration description.  Users
233	must update and reinstall usr.sbin/config before building a new
234	kernel.
235
23620021003:
237	Several changes have been made to the autoconfiguration
238	framework.  Users must update and reinstall usr.sbin/config
239	before building a new kernel.
240
24120021001:
242	The i386mp branch has been merged.  To compile a kernel, users
243	will need to add the option 'cpu* at mainbus?' to their configuration
244	file.  Multiprocessor kernels will need
245	ioapic*		at mainbus? apid ?
246	options		MULTIPROCESSOR
247	options		COM_MPLOCK
248
24920020922:
250	MKDYNAMICROOT=yes enabled by default, which means that
251	certain shared libraries are installed into /lib, the shared
252	linker is installed into /libexec, and all programs in /bin
253	and /sbin are dynamically linked.
254	If you do not use "make build", you should ensure that
255	you have the libraries and shared linker in the new locations,
256	with:
257		make do-lib-csu do-lib-libc do-lib do-gnu-lib do-ld.elf_so
258
25920020917:
260	USE_NEW_TOOLCHAIN has been replaced with:
261	    -	TOOLCHAIN_MISSING -- set to "yes" on platforms for which
262		there is no working in-tree toolchain (hppa, ns32k, sh5,
263		x86_64).
264	    -	EXTERNAL_TOOLCHAIN -- if defined by the user, points to the
265		root of an external toolchain (e.g. /usr/local/gnu).  This
266		enables the cross-build framework even for TOOLCHAIN_MISSING
267		platforms.
268
26920020906:
270	gehenna-devsw has been merged into the trunk. Need to update and
271	reinstall usr.sbin/config before building the kernel.
272
27320020822:
274	Crunched rescue tools (contents of /bin and /sbin, plus others)
275	are now provided in /rescue.
276
277	To ensure that these are built statically linked (no matter
278	what the setting of LDSTATIC is), use a crunchgen(1) built
279	from sources newer than 20020820 (see the next entry).
280
28120020820:
282	crunchgen(1) changed to ensure that the generated program
283	is statically linked.
284
285	Solution: update and reinstall usr.bin/crunch
286
28720020605:
288	smmsp user/group has been added for sendmail.
289
290	Add the following into /etc/group:
291
292	smmsp:*:17:
293
294	and the following to /etc/master.passwd (via vipw):
295
296	smmsp:*:17:17::0:0:Sendmail Message Submission Program:/nonexistent:/sbin/nologin
297
29820020515:
299	sshd user/group has been added.  Need to hand add this in, or sshd
300	will not let you log in (with default, or UsePrivlegeSeparation=yes)
301
302	Add the following into /etc/group:
303
304	sshd:*:16:
305
306	and the following to /etc/master.passwd (via vipw):
307
308	sshd:*:16:16::0:0:& pseudo-user:/var/chroot/sshd:/sbin/nologin
309	
310	Also /var/chroot/sshd directory needs to be present (digged as part of
311	the build process).
312
31320020426:
314	NBUILDJOBS obsoleted in favor of just using -j.
315
31620020426:
317	etc/postinstall added, which performs various checks for 
318	configuration file updates and changes, and can fix most of
319	the problems identified.
320	This should make it much easier to upgrade a system's
321	configuration from earlier systems (as far back as NetBSD 1.5).
322
32320020320:
324	<bsd.lib.mk> needs a new install(1) for its "-a cmd" support.
325	Build and install at usr.bin/xinstall before the build.
326
32720020319:
328	Raw IPv6 socket now makes strict checking for sa_family and sa_len
329	on send(2) operation.  Be sure to have sbin/rtsol and usr.sbin/rtsold
330	newer than November 2001 when you upgrade the kernel.
331
33220020311:
333	ssh configuration files were moved from /etc to /etc/ssh.  Beware
334	if you restart your machine from remote.  Note that sshd.conf needs
335	to be changed (due to the use of "/etc" inside).
336
33720020223:
338	Users of the VAX port will need to rebuild and install gas
339	so it deal with the now present register prefix used in all
340	the VAX assembly files.
341
34220020118:
343	ntpd user/group has been added.  Need to hand add this in or builds
344	will break as mtree aborts early.
345
346	Add the following into /etc/group:
347
348	ntpd:*:15:
349
350	and the following to /etc/master.passwd (via vipw):
351
352	ntpd:*:15:15::0:0:Ntpd pseudo-user:/var/chroot/ntpd:/sbin/nologin
353
35420011207:
355	If you're attempting to build a snapshot on sparc64 and are getting
356	reloc errors from the toolchain groff binary this means your native
357	toolchain has some broken C++ bits.
358
359	To fix:
360
361	Build a new toolchain (i.e. build.sh -t)
362	Use the new toolchain to build and install natively (i.e. /usr/lib)
363
364	gnu/lib/libgcc
365	gnu/lib/libstdc++
366
367	After this a snapshot will be able to be built.
368
36920011201:
370	In order for a sparc64 build to work you must have a working awk. If
371	you've built and installed a system with the new toolchain up to this
372	point you do not have a working awk as its ability to do floating
373	point is broken. 
374
375	To build:
376
377	remake and install gnu/lib/libgcc
378	remake and install gnu/usr.bin/gawk into /usr/bin (make sure it links
379	against the new libgcc.a)
380
38120011128:
382	Kernel config information was changed to use defflag in
383	the various "files" files.  Bug fixes to config(8) are
384	required in order for this to work properly.  Make sure
385	to build and install in usr.sbin/config before attempting
386	to build a new kernel.
387
38820011030:
389	libc/locale/wcstod.c now needs new lint(1). Update lint(1)
390	before building libc.
391
39220011029:
393	The new document BUILDING.mdoc (view with nroff | more, or
394	see pre-generated .txt and .html versions) describes the build
395	procedure in great detail.  BUILDING, and the USE_NEW_TOOLCHAIN
396	build process, are intended in the long run to replace this
397	manual update log.
398
399	Users building a USE_NEW_TOOLCHAIN system should read the
400	BUILDING document for caveats.  Generally, BUILDING supersedes
401	UPDATING for these systems, as tool updating is taken care of
402	by the new build system.
403
40420011028:
405	src/etc/Makefile now needs install to be able to handle
406	symlinks that point to nowhere. A bug in install that
407	prevented this was corrected.
408
409	Solution: update and reinstall usr.bin/xinstall
410	Better Solution: Use the new toolchain and it will just work
411	for you.
412
41320011006:
414	/etc/mtree/NetBSD.dist has been updated to take advantage of
415	absolute path support added to mtree(8). Older mtree(8)s don't
416	understand the format.
417
418	Solution: update and reinstall usr.sbin/mtree
419
42020011004:
421	Crunchgen has been updated to work via reach-over makefiles. Updating
422	is suggested before running a snapshot build
423
42420010915:
425	The new "ubcperf" code committed by Chuck Silvers removed
426	a header file, uvm/uvm_vnode.h.  There may be stale .depend
427	files that still reference this file.
428
429	Solution: "make cleandir && make dependall" in affected
430	directories.
431
43220010803:
433	grep.info is now built from grep.texi using makeinfo.  Since it
434	requires makeinfo v4.0, you need to install new texinfo before
435	building gnu/usr.bin/grep.  To install new texinfo, please follow
436	the instruction described in 20010726 entry.
437
43820010803: 
439	(i386 only): i386 kernel now uses new instructions like
440	`fxsave' which old gas doesn't understand.  To build the
441	kernel successfully, you need to build and install a new toolchain, 
442	(i.e., build.sh -t) or 	(temporarily) comment out "options I686_CPU" 
443	from your kernel configuration until you rebuild your userland.
444	See 20011029 above and BUILDING file in this directory for more information.
445	[updated 20020630 since i386 gas moved when USE_NEW_TOOLCHAIN enabled]
446
44720010731:
448	Bootloader update on ELF platforms.  DDB in kernels from before
449	this will be unable to read symbol tables provided by newer
450	bootloaders.
451
45220010726:
453	Texinfo was updated to 4.0.  To avoid failures when trying to
454	build the included texinfo files, do:
455
456	cd src/gnu/usr.bin/texinfo
457	make MKINFO=no dependall install
458
45920010718:
460	Enabled correct .init/.fini processing in crt0.  The way this
461	was done was to change a -I directive to cc(1), which means
462	make(1) will have a stale dependency (it will be checking the
463	timestamp on the wrong "dot_init.h").
464
465	The symptom you will see is that new programs die with SIGSEGV
466	if you have a stale dependency.
467
468	Solution: "make cleandir" in both lib/csu and libexec/ld.elf_so
469	before starting your build.
470
47120010628:
472	A construct was added to uvm_page.h that uncovered a bug
473	in lint(1).  If you get a warning/error about a non-portable
474	bitfield, update your lint(1) before proceeding.
475
47620010226:
477	Added named user/group to system. Need to hand add this in or builds
478	will break as mtree aborts early.
479
480	To work around add by hand:
481
482	named:*:14:
483
484	to /etc/group and add:
485
486	named:*:14:14::0:0:Named pseudo-user:/var/named:/sbin/nologin
487
488	to master.passwd (use vipw for instance if doing by hand).
489
490	Now a make build should progress.
491
49220010219:
493	get/setprogname() added. Any hostprogs that may use this will need
494	to be bootstrapped manually until the host system is current.
495
496	Known problems: sys/arch/macppc/stand/fixcoff
497			usr.sbin/config (adding -DMAKE_BOOTSTRAP to
498			  CFLAGS and rebuilding should work)
499			usr.sbin/mdsetimage - Build a static copy if
500			  building a snapshot before fully bootstrapped.
501
50220010204:
503	prepare the code to compile with stricter gcc flags. in
504	particular start eliminating redundant declarations. Yacc
505	needs to be installed before make build.
506
50720010114:
508	introduce .if commands(target) in make(1). You need to
509	bring everything up-to-date first, then without installing
510	anything make and install in usr.bin/make, then proceed
511	with make build.
512
51320010101:
514	bsd.subdir.mk committed 20001230 had a bug which caused
515	afterinstall targets to run too soon; update again.
516
51720001230:
518	New share/mk files needed to support .WAIT in SUBDIR variables.
519	If you get make errors, 
520		(cd share/mk; make install)
521	Also, PRINTOBJDIR has changed and is now used more heavily.
522
52320001019:
524	The `ca' device driver has been replaced by `ld'; although the
525	major and minor numbers haven't changed, you should update your /dev
526	directory.
527
52820000929:
529	The following make directives are obsoleted.
530	MKCRYPTO_RSA NOCRYPTO_RSA NOCRYPTO_RC5 NOCRYPTO_IDEA 
531	By default, RSA is built into libcrypto.  IDEA and RC5 will not be
532	built into libcrypto.  By using MKCRYPTO_{RC5,IDEA}, you can build
533	additional library libcrypto_{idea,rc5}.
534
535
536Hints for a more successful build:
537^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
538    Build a new kernel first:
539	This makes sure that any new system calls or features
540	   expected by the new userland will be present.  This
541	   helps to avoid critical errors when upgrading.
542    Use object directories:
543	This helps to keep stale object
544	   files from polluting the build if a Makefile "forgets"
545	   about one.  It also makes it easier to clean up after
546	   a build.  It's also necessary if you want to use the
547	   same source tree for multiple machines.
548	   To use object directories:
549	    a) cd /usr/src ; make cleandir
550	    b) Add "OBJMACHINE=yes" to /etc/mk.conf
551	    c) Add "MKOBJDIRS=yes" to /etc/mk.conf
552	    d) cd /usr/src ; make build
553	   Note that running "make obj" in a directory will create
554	   in obj.$MACHINE directory.
555    Build to a DESTDIR:
556	This helps to keep old
557	   installed files (especially libraries) from interfering
558	   with the new build.
559	   To build to a DESTDIR, set the DESTDIR environment
560	   variable before running make build.  It should be set to
561	   the pathname of an initially empty directory.
562	   Problems: you might need to update critical utilities
563		without using DESTDIR since nothing is executed
564		from what is installed in DESTDIR.
565		(See critical utils, below)
566    Build often:
567	This keeps critical utilities current enough to not choke
568	on any other part of the source tree that depends on up to
569	date functionality.
570 
571What to do if things don't work:
572^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
573When things don't work there is usually a few things that commonly
574should be done.
575    1)	make includes
576	This should be done automatically by make build.
577    2)  cd share/mk && make install
578	Again, automatically done by make build.
579
580Failsafe rebuild of a small part of the tree:
581^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
582To make sure you rebuild something correctly you want to do
583something like the following:
584    1)  Make sure the includes and .mk files are up to date.
585    2)  Make sure any program used to build the particular
586	utility is up to date.  (yacc, lex, etc...)
587    3)  cd ...path/to/util...
588	make cleandir
589	rm ...all obj directories...
590	make cleandir			# yes, again
591	make obj
592	make depend && make
593
594Failsafe rebuild of the entire tree:
595^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
596If you really want to make sure the source tree is clean and
597ready for a build try the following.  Note that sourcing /etc/mk.conf
598(a make(1) Makefile) in this manner is not right, and will not work
599for anyone who uses any make(1) features in /etc/mk.conf.
600
601---cut here---
602#!/bin/sh
603. /etc/mk.conf
604
605if [ -z $NETBSDSRCDIR ] ; then
606    NETBSDSRCDIR=/usr/src
607fi
608if [ \! -d $NETBSDSRCDIR ] ; then
609    echo Unable to find sources
610    exit 1
611fi
612find $NETBSDSRCDIR -name \*.o -o -name obj.\* -o -name obj -exec rm \{\} \;
613
614if [ -z $BSDOBJDIR ] ; then
615    BSDOBJDIR=/usr/obj
616fi
617if [ -d $BSDOBJDIR ] ; then
618    rm -rf $BSDOBJDIR
619fi
620
621cd $NETBSDSRCDIR && make cleandir
622
623---cut here---
624
625Critical utilities:
626^^^^^^^^^^^^^^^^^^^
627	gnu/usr.bin/egcs
628	usr.bin/compile_et
629	usr.bin/make
630	usr.bin/yacc
631	usr.bin/lex
632	usr.bin/xlint
633	usr.sbin/config
634
635Other problems and possible solutions:
636^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
637Symptom:Unreasonable compiler errors.
638Fix:	Rebuild gnu/usr.bin/egcs
639
640Symptom:Complaints involving a Makefile.
641Fix:	Rebuild usr.bin/make:
642	cd usr.bin/make && make && make install
643	Or, a failsafe method if that doesn't work:
644	cd usr.bin/make && cc *.c */*.c -I . -o make && mv make /usr/bin
645
646Fix:	Make sure .mk files are up to date.
647	cd share/mk && make install
648
649Symptom:Kernel `config' fails to configure any kernel, including GENERIC.
650Fix:	Rebuild usr.sbin/config
651
652Symptom:
653Fix:	Rebuild usr.bin/yacc
654
655Symptom:
656Fix:	Rebuild usr.bin/lex
657
658Symptom:
659Fix:	rm /usr/lib/libbfd.a
660
661Symptom:Obsolete intermediate files are used during compilation
662Fix:	Try the following sequence of commands in the directory in question.
663	make cleandir; rm `make print-objdir`; make cleandir; make obj
664	(If you built the tree without "make obj" in the past, obsolete files
665	may remain.  The command tries to clean everything up)
666
667Symptom:.../sysinst/run.c:xx: warning: initialization from incompatible pointer type
668Fix:	Rebuild and install usr.bin/menuc
669
670Symptom:mklocale not found during build in share/locale/ctype
671Fix:	Build and install usr.bin/mklocale
672
673Symptom:undefined reference to `__assert13' or `__unsetenv13'
674Fix:    Rebuild and install lib/libc
675
676Symptom:usr.sbin/config fails to build.
677Fix:	Try building with -DMAKE_BOOTSTRAP added to CFLAGS in Makefile.
678
679Symptom:undefined reference to `getprogname' or `setprogname'
680Fix:    Rebuild and install lib/libc
681
682Symptom:lint does not understand the '-X' option
683Fix:    May need to build & install libs with NOLINT=1 before rebuilding lint
684