version 1.8, 2001/01/01 14:13:51 |
version 1.60, 2002/05/02 22:13:30 |
Line 8 For a more detailed description see Make |
|
Line 8 For a more detailed description see Make |
|
Recent changes: |
Recent changes: |
^^^^^^^^^^^^^^^ |
^^^^^^^^^^^^^^^ |
|
|
|
20020426: |
|
NBUILDJOBS obsoleted in favor of just using -j. |
|
|
|
20020426: |
|
etc/postinstall added, which performs various checks for |
|
configuration file updates and changes, and can fix most of |
|
the problems identified. |
|
This should make it much easier to upgrade a system's |
|
configuration from earlier systems (as far back as NetBSD 1.5). |
|
|
|
20020320: |
|
<bsd.lib.mk> needs a new install(1) for it's "-a cmd" support. |
|
build and install at usr.bin/xinstall before the build. |
|
|
|
20020319: |
|
raw IPv6 socket now makes strict checking for sa_family and sa_len |
|
on send(2) operation. be sure to have sbin/rtsol and usr.sbin/rtsold |
|
newer than November 2001 when you upgrade the kernel. |
|
|
|
20020311: |
|
ssh configuration files were moved from /etc to /etc/ssh. Beware |
|
if you restart your machine from remote. Note that sshd.conf needs |
|
to be changed (due to the use of "/etc" inside). |
|
|
|
20020223: |
|
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 |
|
with make build. |
|
|
|
20010101: |
|
bsd.subdir.mk committed 20001230 had a bug which caused |
|
afterinstall targets to run too soon; update again. |
|
|
20001230: |
20001230: |
New share/mk files needed to support .WAIT in SUBDIR variables. |
New share/mk files needed to support .WAIT in SUBDIR variables. |
If you get make errors, |
If you get make errors, |
|
|
The following make directives are obsoleted. |
The following make directives are obsoleted. |
MKCRYPTO_RSA NOCRYPTO_RSA NOCRYPTO_RC5 NOCRYPTO_IDEA |
MKCRYPTO_RSA NOCRYPTO_RSA NOCRYPTO_RC5 NOCRYPTO_IDEA |
By default, RSA is built into libcrypto. IDEA and RC5 will not be |
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}. |
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: |
Hints for a more successful build: |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
Line 100 for anyone who uses any make(1) features |
|
Line 301 for anyone who uses any make(1) features |
|
#!/bin/sh |
#!/bin/sh |
. /etc/mk.conf |
. /etc/mk.conf |
|
|
if [ -z $BSDSRCDIR ] ; then |
if [ -z $NETBSDSRCDIR ] ; then |
BSDSRCDIR=/usr/src |
NETBSDSRCDIR=/usr/src |
fi |
fi |
if [ \! -d $BSDSRCDIR ] ; then |
if [ \! -d $NETBSDSRCDIR ] ; then |
echo Unable to find sources |
echo Unable to find sources |
exit 1 |
exit 1 |
fi |
fi |
find $BSDSRCDIR -name \*.o -o -name obj.\* -o -name obj -exec rm \{\} \; |
find $NETBSDSRCDIR -name \*.o -o -name obj.\* -o -name obj -exec rm \{\} \; |
|
|
if [ -z $BSDOBJDIR ] ; then |
if [ -z $BSDOBJDIR ] ; then |
BSDOBJDIR=/usr/obj |
BSDOBJDIR=/usr/obj |
Line 116 if [ -d $BSDOBJDIR ] ; then |
|
Line 317 if [ -d $BSDOBJDIR ] ; then |
|
rm -rf $BSDOBJDIR |
rm -rf $BSDOBJDIR |
fi |
fi |
|
|
cd $BSDSRCDIR && make cleandir |
cd $NETBSDSRCDIR && make cleandir |
|
|
---cut here--- |
---cut here--- |
|
|
Line 127 Critical utilities: |
|
Line 328 Critical utilities: |
|
usr.bin/make |
usr.bin/make |
usr.bin/yacc |
usr.bin/yacc |
usr.bin/lex |
usr.bin/lex |
|
usr.bin/xlint |
usr.sbin/config |
usr.sbin/config |
|
|
Other problems and possibly solutions: |
Other problems and possible solutions: |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
Symptom:Unreasonable compiler errors. |
Symptom:Unreasonable compiler errors. |
Fix: Rebuild gnu/usr.bin/egcs |
Fix: Rebuild gnu/usr.bin/egcs |
|
|
Symptom:Complaints involving a Makefile. |
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. |
Fix: Make sure .mk files are up to date. |
cd share/mk && make install |
cd share/mk && make install |
Fix: Rebuild usr.bin/make |
|
|
|
Symptom:Kernel `config' fails to configure any kernel, including GENERIC. |
Symptom:Kernel `config' fails to configure any kernel, including GENERIC. |
Fix: Rebuild usr.sbin/config |
Fix: Rebuild usr.sbin/config |
Line 159 Fix: Try the following sequence of comma |
|
Line 365 Fix: Try the following sequence of comma |
|
|
|
Symptom:.../sysinst/run.c:xx: warning: initialization from incompatible pointer type |
Symptom:.../sysinst/run.c:xx: warning: initialization from incompatible pointer type |
Fix: Rebuild and install usr.bin/menuc |
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 |