Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/UPDATING,v rcsdiff: /ftp/cvs/cvsroot/src/UPDATING,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.12 retrieving revision 1.53 diff -u -p -r1.12 -r1.53 --- src/UPDATING 2001/01/24 12:35:48 1.12 +++ src/UPDATING 2002/02/24 01:15:21 1.53 @@ -1,4 +1,4 @@ -$NetBSD: UPDATING,v 1.12 2001/01/24 12:35:48 itojun Exp $ +$NetBSD: UPDATING,v 1.53 2002/02/24 01:15:21 matt Exp $ This file is intended to be a brief introduction to the build process and a reference on what to do if something doesn't work. @@ -7,11 +7,181 @@ For a more detailed description see Make Recent changes: ^^^^^^^^^^^^^^^ +20010223: + Users of the VAX port will need to rebuild and install gas + so it deal with the now present register prefix used in all + the VAX assembly files. + +20020118: + + ntpd user/group has been added. Need to hand add this in or builds + will break as mtree aborts early. + + Add the following into /etc/group: + + ntpd:*:15: + + and the following to /etc/master.passwd (via vipw): + + ntpd:*:15:15::0:0:Ntpd pseudo-user:/var/chroot/ntpd:/sbin/nologin + +20011207: + + If you're attempting to build a snapshot on sparc64 and are getting + reloc errors from the toolchain groff binary this means your native + toolchain has some broken C++ bits. + + To fix: + + Build a new toolchain (i.e. build.sh -t) + Use the new toolchain to build and install natively (i.e. /usr/lib) + + gnu/lib/libgcc + gnu/lib/libstdc++ + + After this a snapshot will be able to be built. + +20011201: + In order for a sparc64 build to work you must have a working awk. If + you've built and installed a system with the new toolchain up to this + point you do not have a working awk as its ability to do floating + point is broken. + + To build: + + remake and install gnu/lib/libgcc + remake and install gnu/usr.bin/gawk into /usr/bin (make sure it links + against the new libgcc.a) + +20011128: + Kernel config information was changed to use defflag in + the various "files" files. Bug fixes to config(8) are + required in order for this to work properly. Make sure + to build and install in usr.sbin/config before attempting + to build a new kernel. + +20011030: + libc/locale/wcstod.c now needs new lint(1). Update lint(1) + before building libc. + +20011029: + The new document BUILDING.mdoc (view with nroff | more, or + see pre-generated .txt and .html versions) describes the build + procedure in great detail. BUILDING, and the USE_NEW_TOOLCHAIN + build process, are intended in the long run to replace this + manual update log. + + Users building a USE_NEW_TOOLCHAIN system should read the + BUILDING document for caveats. Generally, BUILDING supersedes + UPDATING for these systems, as tool updating is taken care of + by the new build system. + +20011028: + src/etc/Makefile now needs install to be able to handle + symlinks that point to nowhere. A bug in install that + prevented this was corrected. + + Solution: update and reinstall usr.bin/xinstall + Better Solution: Use the new toolchain and it will just work + for you. + +20011006: + /etc/mtree/NetBSD.dist has been updated to take advantage of + absolute path support added to mtree(8). Older mtree(8)s don't + understand the format. + + Solution: update and reinstall usr.sbin/mtree + +20011004: + Crunchgen has been updated to work via reach-over makefiles. Updating + is suggested before running a snapshot build + +20010915: + The new "ubcperf" code committed by Chuck Silvers removed + a header file, uvm/uvm_vnode.h. There may be stale .depend + files that still reference this file. + + Solution: "make cleandir && make dependall" in affected + directories. + +20010803: + grep.info is now built from grep.texi using makeinfo. Since it + requires makeinfo v4.0, you need to install new texinfo before + building gnu/usr.bin/grep. To install new texinfo, please follow + the instruction described in 20010726 entry. + +20010803: + (i386 only): i386 kernel now uses new instructions like + `fxsave' which old gas doesn't understand. To build the + kernel successfully, you need to build and install new gas + (gnu/usr.bin/gas.new), or (temporarily) comment out + "options I686_CPU" from your kernel configuration until you + rebuilt your userland (and got a new gas). + +20010731: + Bootloader update on ELF platforms. DDB in kernels from before + this will be unable to read symbol tables provided by newer + bootloaders. + +20010726: + Texinfo was updated to 4.0. To avoid failures when trying to + build the included texinfo files, do: + + cd src/gnu/usr.bin/texinfo + make MKINFO=no dependall install + +20010718: + Enabled correct .init/.fini processing in crt0. The way this + was done was to change a -I directive to cc(1), which means + make(1) will have a stale dependency (it will be checking the + timestamp on the wrong "dot_init.h"). + + The symptom you will see is that new programs die with SIGSEGV + if you have a stale dependency. + + Solution: "make cleandir" in both lib/csu and libexec/ld.elf_so + before starting your build. + +20010628: + A construct was added to uvm_page.h that uncovered a bug + in lint(1). If you get a warning/error about a non-portable + bitfield, update your lint(1) before proceeding. + +20010226: + Added named user/group to system. Need to hand add this in or builds + will break as mtree aborts early. + + To work around add by hand: + + named:*:14: + + to /etc/group and add: + + named:*:14:14::0:0:Named pseudo-user:/var/named:/sbin/nologin + + to master.passwd (use vipw for instance if doing by hand). + + Now a make build should progress. + +20010219: + get/setprogname() added. Any hostprogs that may use this will need + to be bootstrapped manually until the host system is current. + + Known problems: sys/arch/macppc/stand/fixcoff + usr.sbin/config (adding -DMAKE_BOOTSTRAP to + CFLAGS and rebuilding should work) + usr.sbin/mdsetimage - Build a static copy if + building a snapshot before fully bootstrapped. + +20010204: + prepare the code to compile with stricter gcc flags. in + particular start eliminating redundant declarations. Yacc + needs to be installed before make build. 20010114: introduce .if commands(target) in make(1). You need to bring everything up-to-date first, then without installing - anything make and install in /usr/bin/make, then proceed + anything make and install in usr.bin/make, then proceed with make build. 20010101: @@ -33,13 +203,9 @@ Recent changes: The following make directives are obsoleted. MKCRYPTO_RSA NOCRYPTO_RSA NOCRYPTO_RC5 NOCRYPTO_IDEA By default, RSA is built into libcrypto. IDEA and RC5 will not be - bulit into libcrypto. By using MKCRYPTO_{RC5,IDEA}, you can build + built into libcrypto. By using MKCRYPTO_{RC5,IDEA}, you can build additional library libcrypto_{idea,rc5}. -20000623: - MKCRYPTO and friends added to share/mk/bsd.own.mk. - 'cd share/mk ; make install' needed before make build. - Hints for a more successful build: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -140,15 +306,19 @@ Critical utilities: usr.bin/xlint usr.sbin/config -Other problems and possibly solutions: +Other problems and possible solutions: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Symptom:Unreasonable compiler errors. Fix: Rebuild gnu/usr.bin/egcs Symptom:Complaints involving a Makefile. +Fix: Rebuild usr.bin/make: + cd usr.bin/make && make && make install + Or, a failsafe method if that doesn't work: + cd usr.bin/make && cc *.c */*.c -I . -o make && mv make /usr/bin + Fix: Make sure .mk files are up to date. cd share/mk && make install -Fix: Rebuild usr.bin/make Symptom:Kernel `config' fails to configure any kernel, including GENERIC. Fix: Rebuild usr.sbin/config @@ -173,3 +343,15 @@ Fix: Rebuild and install usr.bin/menuc Symptom:mklocale not found during build in share/locale/ctype Fix: Build and install usr.bin/mklocale + +Symptom:undefined reference to `__assert13' +Fix: Rebuild and install lib/libc + +Symptom:usr.sbin/config fails to build. +Fix: Try building with -DMAKE_BOOTSTRAP added to CFLAGS in Makefile. + +Symptom:undefined reference to `getprogname' or `setprogname' +Fix: Rebuild and install lib/libc + +Symptom:lint does not understand the '-X' option +Fix: May need to build & install libs with NOLINT=1 before rebuilding lint