version 1.24, 2001/05/27 23:34:22 |
version 1.67, 2002/09/21 04:12:35 |
Line 8 For a more detailed description see Make |
|
Line 8 For a more detailed description see Make |
|
Recent changes: |
Recent changes: |
^^^^^^^^^^^^^^^ |
^^^^^^^^^^^^^^^ |
|
|
20010226: |
20020917: |
|
USE_NEW_TOOLCHAIN has been replaced with: |
|
- TOOLCHAIN_MISSING -- set to "yes" on platforms for which |
|
there is no working in-tree toolchain (hppa, ns32k, sh5, |
|
x86_64). |
|
- EXTERNAL_TOOLCHAIN -- if defined by the user, points to the |
|
root ofan external toolchain (e.g. /usr/local/gnu). This |
|
enables the cross-build framework even for TOOLCHAIN_MISSING |
|
platforms. |
|
|
|
20020906: |
|
gehenna-devsw has been merged into the trunk. Need to update and |
|
reinstall usr.sbin/config before build the kernel. |
|
|
|
20020822: |
|
Crunched rescue tools (contents of /bin and /sbin, plus others) |
|
are now provided in /rescue. |
|
|
|
To ensure that these are built statically linked (no matter |
|
what the setting of LDSTATIC is), use a crunchgen(1) built |
|
from sources newer than 20020820 (see the next entry). |
|
|
|
20020820: |
|
crunchgen(1) changed to ensure that the generated program |
|
is statically linked. |
|
|
|
Solution: update and reinstall usr.bin/crunch |
|
|
|
20020515: |
|
sshd user/group has been added. Need to hand add this in, or sshd |
|
will not let you log in (with default, or UsePrivlegeSeparation=yes) |
|
|
|
Add the following into /etc/group: |
|
|
|
sshd:*:16: |
|
|
|
and the following to /etc/master.passwd (via vipw): |
|
|
|
sshd:*:16:16::0:0:& pseudo-user:/var/chroot/sshd:/sbin/nologin |
|
|
|
also /var/chroot/sshd directory needs to be present (digged as a part of |
|
build process). |
|
|
|
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 a new toolchain, |
|
(i.e., build.sh -t) or (temporarily) comment out "options I686_CPU" |
|
from your kernel configuration until you rebuild your userland. |
|
See 20011029 above and BUILDING file in this directory for more information. |
|
[updated 20020630 since i386 gas moved when USE_NEW_TOOLCHAIN enabled] |
|
|
|
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 |
Added named user/group to system. Need to hand add this in or builds |
will break as mtree aborts early. |
will break as mtree aborts early. |
|
|
|
|
Now a make build should progress. |
Now a make build should progress. |
|
|
20010219: |
20010219: |
get/setprogname() added. Any hostprog's that may use this will need |
get/setprogname() added. Any hostprogs that may use this will need |
to be bootstrapped manually until the host system is current. |
to be bootstrapped manually until the host system is current. |
|
|
Known problems: sys/arch/macppc/stand/fixcoff |
Known problems: sys/arch/macppc/stand/fixcoff |
|
|
built 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 142 for anyone who uses any make(1) features |
|
Line 345 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 158 if [ -d $BSDOBJDIR ] ; then |
|
Line 361 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 172 Critical utilities: |
|
Line 375 Critical utilities: |
|
usr.bin/xlint |
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 |