version 1.43, 2001/10/29 01:53:56 |
version 1.65, 2002/08/24 13:25:01 |
Line 5 process and a reference on what to do if |
|
Line 5 process and a reference on what to do if |
|
|
|
For a more detailed description see Makefile. |
For a more detailed description see Makefile. |
|
|
Note that users of the new toolchain in many instances will not |
|
experience the problems listed below because their host tools are |
|
automatically generated for them. |
|
|
|
Recent changes: |
Recent changes: |
^^^^^^^^^^^^^^^ |
^^^^^^^^^^^^^^^ |
|
|
20011028: |
20020822: |
/usr/src/build.sh exists as of 2001.10.19. From the cvs log: |
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: |
|
|
"Script to automate bootstrapping a build on any host platform. |
and the following to /etc/master.passwd (via vipw): |
Creates a bmake (rebuilds, if necessary) and invokes that to |
|
start the build." |
|
|
|
This should, incidentally, allow 1.5.x hosts to build -current |
ntpd:*:15:15::0:0:Ntpd pseudo-user:/var/chroot/ntpd:/sbin/nologin |
using the new toolchain, on USE_NEW_TOOLCHAIN-enabled platforms. |
|
|
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: |
20011028: |
src/etc/Makefile now needs install to be able to handle |
src/etc/Makefile now needs install to be able to handle |
|
|
Solution: update and reinstall usr.sbin/mtree |
Solution: update and reinstall usr.sbin/mtree |
|
|
20011004: |
20011004: |
|
|
Crunchgen has been updated to work via reach-over makefiles. Updating |
Crunchgen has been updated to work via reach-over makefiles. Updating |
is suggested before running a snapshot build |
is suggested before running a snapshot build |
|
|
20010922: |
|
The new toolchain is enabled on i386. This new build method |
|
is intended to make all the upgrade issues elsewhere in UPDATING |
|
obsolete (stay tuned...). |
|
|
|
i386 platform builds must now set TOOLDIR in mk.conf or the |
|
environment in order to build the system. This is a pathname |
|
where host build tools will be installed, and must NOT be |
|
the same as src/tools. |
|
|
|
(Optionally, USETOOLS=no can be set in the environment if you |
|
wish to avoid using the separate host toolchain for building a |
|
subtree. Otherwise, this will default to "yes" automatically.) |
|
|
|
20010915: |
20010915: |
The new "ubcperf" code committed by Chuck Silvers removed |
The new "ubcperf" code committed by Chuck Silvers removed |
a header file, uvm/uvm_vnode.h. There may be stale .depend |
a header file, uvm/uvm_vnode.h. There may be stale .depend |
|
|
building gnu/usr.bin/grep. To install new texinfo, please follow |
building gnu/usr.bin/grep. To install new texinfo, please follow |
the instruction described in 20010726 entry. |
the instruction described in 20010726 entry. |
|
|
20010803: |
20010803: |
(i386 only): i386 kernel now uses new instructions like |
(i386 only): i386 kernel now uses new instructions like |
`fxsave' which old gas doesn't understand. To build the |
`fxsave' which old gas doesn't understand. To build the |
kernel successfuly, you need to build and install new gas |
kernel successfully, you need to build and install a new toolchain, |
(gnu/usr.bin/gas.new), or (temporarily) comment out |
(i.e., build.sh -t) or (temporarily) comment out "options I686_CPU" |
"options I686_CPU" from your kernel configuration until you |
from your kernel configuration until you rebuild your userland. |
rebuilt your userland (and got a new gas). |
See 20011029 above and BUILDING file in this directory for more information. |
|
[updated 20020630 since i386 gas moved when USE_NEW_TOOLCHAIN enabled] |
|
|
20010731: |
20010731: |
Bootloader update on ELF platforms. DDB in kernels from before |
Bootloader update on ELF platforms. DDB in kernels from before |
|
|
make MKINFO=no dependall install |
make MKINFO=no dependall install |
|
|
20010718: |
20010718: |
|
|
Enabled correct .init/.fini processing in crt0. The way this |
Enabled correct .init/.fini processing in crt0. The way this |
was done was to change a -I directive to cc(1), which means |
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 |
make(1) will have a stale dependency (it will be checking the |
|
|
before starting your build. |
before starting your build. |
|
|
20010628: |
20010628: |
|
|
A construct was added to uvm_page.h that uncovered a bug |
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 |
in lint(1). If you get a warning/error about a non-portable |
bitfield, update your lint(1) before proceeding. |
bitfield, update your lint(1) before proceeding. |
|
|
20010226: |
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 244 for anyone who uses any make(1) features |
|
Line 331 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 260 if [ -d $BSDOBJDIR ] ; then |
|
Line 347 if [ -d $BSDOBJDIR ] ; then |
|
rm -rf $BSDOBJDIR |
rm -rf $BSDOBJDIR |
fi |
fi |
|
|
cd $BSDSRCDIR && make cleandir |
cd $NETBSDSRCDIR && make cleandir |
|
|
---cut here--- |
---cut here--- |
|
|