
1: $NetBSD: UPDATING,v 1.152 2006/11/09 18:20:59 christos Exp $ 2: 3: This file (UPDATING) is intended to be a brief reference to recent 4: changes that might cause problems in the build process, and a guide for 5: what to do if something doesn't work. 6: 7: For a more detailed description of the recommended way to build NetBSD 8: using build.sh, see the BUILDING file. 9: 10: Note that much of the advice in this UPDATING file was written before 11: build.sh existed. Nevertheless, the advice here may be useful for 12: working around specific problems with build.sh. 13: 14: See also: BUILDING, build.sh, Makefile. 15: 16: Recent changes: 17: ^^^^^^^^^^^^^^^ 18: 19: 20061108: 20: The configure script used in the src/tools/gcc compiler has been 21: changed to indicate that our libc has ssp support built-in and 22: does not depend on -lssp and -lssp-nonshared. You'll need to 23: make clean in src/tools/gcc first to rebuild the compiler. 24: 25: 20061009: 26: The sysctl variables net.inet{,6}.tcp{,6}.newreno are no longer 27: available. Use net.inet{,6}.tcp{,6}.congctl.selected instead. 28: 29: 20060814: 30: The vt, vidcconsole, kbd, and rpckbd drivers on acorn32 have been 31: withdrawn. Use vidcvideo and pckbd instead. See the GENERIC 32: kernel configuration for an example. X servers from the last 33: few years should cope. 34: 35: 20060703: 36: MPACPI is no more. We always configure PCI interrupts using ACPI 37: if we have an ACPI kernel. The option MPACPI_SCANPCI has been renamed 38: to ACPI_SCANPCI. Thanks to work from fvdl. 39: 40: 20060627: 41: socket(2) has changed, and its system call has been versioned. 42: For userlands with the old version of socket(2), make sure that 43: your kernel has 'options COMPAT_30' set, or else 'bad system call' 44: errors will result. 45: 46: 20060526: 47: The kernel linker scripts for i386 and xen 48: (sys/arch/i386/conf/kern.ldscript*) were changed to set the 49: load address correctly, for the benefit of MULTIBOOT boot loaders 50: (like Grub). If you use a linker (ld) older than from 2006/04/17, it 51: will be unable to link the kernel because of a bug and ld will fail 52: with an error like: 53: ../../../../arch/i386/conf/kern.ldscript:45 \ 54: non constant expression for load base 55: You need to update at least src/gnu/dist/binutils/ld and recompile 56: and install the linker. If using the build.sh script, the easiest 57: way is with a "build.sh tools" command, with any other options 58: that you use normally. When using build.sh, the linker binary is 59: installed as ${TOOLDIR}/bin/i386--netbsdelf-ld. 60: 61: 20060131: 62: the protocol between the sparc64 bootloader (ofwboot) and 63: the kernel was changed. Before installing a new kernel, 64: you need to update ofwboot. After a full build, just copy 65: /usr/mdec/ofwboot to /, or do a rebuild of 66: src/sys/arch/sparc/stand/ofwboot and install the result to /. 67: 68: 20050917: 69: arch/*/conf/std.* was changed to include conf/std, which 70: contains MI options previously enabled by default. 71: If you have kernel config files which doesn't include 72: arch/*/conf/std.*, you need to edit them to include conf/std 73: to get the previous configuration. 74: 75: 20050830: 76: named.conf was moved from /etc/namedb to /etc. 77: postinstall(8) migrates this during interactive use. 78: Users of MKUPDATE=yes will need to manually rectify 79: this in their DESTDIR. 80: 81: 20050825: 82: Some data structures in sys/device.h, related to interface 83: attributes and locator names, were changed. config(1) was 84: modified to emit the new data structures. 85: Thus usr.bin/config must be updated (and run on the kernel 86: configuration file) before a new kernel can be built. 87: 88: 20050531: 89: genassym.sh(8) was moved to genassym(1). You need to either build 90: tools first or install the version of genassym from /usr/bin before 91: you can build a kernel again. 92: 93: 20050520: 94: Because a kernfs bug which xentools relies on was fixed, 95: xentools up to xentools20-2.0.3nb4 won't work with new kernel. 96: 97: 20050417: 98: postinstall(8) was moved from /etc to /usr/sbin and made part 99: of the "base" set, to make it easier to invoke after an 100: upgrade. 101: 102: 20050325: 103: pcppi(4) was separated in two devices, adding attimer(4). Be sure 104: to add a config line for an attimer(4) device in your kernel 105: configuration, or you won't be able to set the pitch of the beep 106: with wsconsctl. Depending on the default value for the pitch, you 107: might even not hear any more beep. Also, it is advised to attach both 108: devices the same way (i.e., both on isa or both on acpi) or the 109: pcppi(4) device may fail to find the attimer(4) one. 110: 111: 20050211: 112: Fixes to tools/Makefile.gnuhost may cause UPDATE=1 builds in 113: some of the cross tools to fail if they use configure. Some configure's 114: cache the environment passed in and notice the new environment is 115: different and abort. Doing a clean in tools/ should be enough to 116: make a build continue. 117: 118: 20050109: 119: Since su is using pam by default now, make sure that you have 120: /etc/pam.d populated (postinstall will do that automatically 121: for you). Otherwise su will fail open (i.e. will not require 122: a password). 123: 124: 20041229: 125: Make had a path resolution bug that manifested itself as not 126: being able to install openpam.3. This bug has been fixed, but 127: you might need to rebuild make manually first to get through 128: the build. 129: 130: 20041201: 131: Userland programs have been changed to use /dev/bpf instead of 132: /dev/bpfX. You need to create that device by installing a new 133: MAKEDEV and running it, or mv /dev/bpf0 /dev/bpf && rm /dev/bpf[0-9]* 134: 135: 20041006: 136: 137: A bug was introduced into /bin/sh (var.c rev 1.35) which causes 138: variables to not export correctly to subshells in all cases. This 139: will cause builds to break if that version of /bin/sh is installed 140: on the system. The proper version of /bin/sh can be verified with: 141: 142: ident /bin/sh | grep var 143: 144: Any /bin/sh w. version 1.35 will not work and needs to be updated 145: before attempting a build. 146: 147: 20041001: 148: The ipfilter kernel sources moved from sys/netinet to 149: dist/sys/ipf/netinet. Due to the move some Makefile 150: dependencies are now dangling requiring a make cleandir 151: before they work again (kdump, ktruss, rescue, ipf, and 152: ftp-proxy are the victims). 153: 154: 20040715: 155: The rc.d/sendmail script now uses a heuristic to determine 156: if sendmail should be started at boot time. It checks the 157: contents of /etc/mailer.conf, /etc/mail/submit.cf, and the 158: owner and mode of the sendmail binary to see if any changes 159: to the mail infrastructure have been made. If no changes 160: are detected, it will start an SMTP listener. 161: 162: Setting sendmail=NO in /etc/rc.conf will override this. 163: 164: If you are only using sendmail by default and only for 165: local delivery, it is important that you also update your 166: sendmail.cf so that the SMTP listener only listens on the 167: loopback interface. 168: 169: 20040715: 170: The method by which athhal-elf.o gets pulled into i386 171: kernel builds has been changed again. The latest version 172: of bsd.files.mk is no longer required. 173: 174: 20040621: 175: Due to the recent rototill of tools/compat it's crucial one starts 176: from a clean objdir under tools/*. 177: 178: This is mostly due to generated files (yacc and lex sources) needing 179: to be generated with new rules from bsd.hostprog.mk. 180: 181: The safest course is to rm -rf all objects under tools before building. 182: 183: 20040516: 184: The end-user modifiable X11 configuration has been moved 185: from /usr/X11R6/lib/X11/<dir> to /etc/X11/<dir>. 186: Ensure that src and xsrc is up to date, and run 187: "make cleandir" in src/x11 before your next build. 188: 189: postinstall currently doesn't migrate the files from 190: /usr/X11R6/lib/X11/* to /etc/X11/* although it does 191: detect that this needs to occur, so you'll have to 192: manually move these files yourself. 193: 194: 20040426: 195: Support for the original dynamic sysctl node structure has 196: been removed in favor of the newer layout. This affects 197: consumers of the create and delete interface, as well as 198: the dynamic discovery mechanism. This is believed only to 199: be the sysctl(8) binary itself, at this point in time, so 200: the only effect of this should be that a sysctl binary 201: built from sources dated between 2003/12/04 and 2004/03/24 202: will not work on a kernel built from sources dated after 203: 2004/04/25. If you need a new sysctl binary but build.sh 204: does not work, make sure that your revision of 205: src/sys/sys/sysctl.h is 1.112 (or later), and then the 206: do the following: 207: 208: cd /usr/src (or wherever your source tree is) 209: make USETOOLS=no includes 210: cd lib/libc 211: make USETOOLS=no dependall install 212: cd ../../sbin/sysctl 213: make USETOOLS=no dependall install 214: 215: If you are using older sysctl binary, GNU autoconf would fail to 216: identify your machine architecture, and tries to build binary for 217: "unknown-unknown-netbsd20F" or something like that. if that happens, 218: make sure to follow the above steps. 219: 220: 20040425: 221: The ffs superblock issues listed below under 20040109 and 20030402 222: are now automatically addressed by the /etc/rc.d/fixsb script or by 223: sysinst when it checks a a filesystem. The manual fsck_ffs -b16 -c4 224: invocation mentioned below will continue to work and is now 225: automated by those scripts. Note that under certain circumstances, 226: affected filesystems upgraded to a -current kernel first before 227: upgrading their userland with the fixsb and fsck_ffs fixes may 228: encounter a 'freeing free inode' panic when writing to the affected 229: filesystem, so it is a good idea to repair the filesystem as soon as 230: possible. For more details on the fixsb script, see pr install/25138. 231: 232: 20040418: 233: statfs(2) and friends have been replaced with statvfs(2). Before 234: installing a newly build userland make sure that you are running 235: a newly built kernel with COMPAT_20 set. In addition your libc 236: build might not work (undefined SYS_statfs symbol) because make 237: clean does not know how to remove files it does not know about 238: anymore. Manually remove all generated .S sources and objects 239: from the libc build directory. 240: 241: 20040326: 242: The method by which athhal-elf.o gets pulled into i386 kernel builds 243: has been changed. The file is now stored as a uuencoded file in CVS 244: and the generated Makefile will use the new .uue rules from bsd.file.mk 245: to build it. 246: 247: This means you must have the latest bsd.files.mk installed when 248: building a kernel without USETOOLS=yes. 249: 250: 20040318: 251: A bug in the cgd(4) blowfish code was corrected, without 252: provision of backwards compatibility, after several public 253: notices over several months. Users of cgd with blowfish cipher 254: ONLY must dump their data before updating their kernels, and 255: recreate cgd's and restore data using the new kernel. See 256: (recent message to current-users, URL when mail-index has updated) 257: 258: 20040313: 259: On acorn32, the opms and qms drivers have been withdrawn, and 260: the old wsqms driver is now called qms. Kernel config files 261: will need updating. See the ones in sys/arch/acorn32/conf 262: for examples. 263: 264: 20040125: 265: On acorn32, the beep and sysbeep devices are no longer 266: needed, and will need to be deleted from kernel configuration 267: files. 268: 269: 20040109: 270: Compatibility for old ffs superblock layouts has been 271: added, and the restrictive fsck checks have been reenabled 272: when using those layouts. If you have been using -current 273: since 20030402, you may find that fsck again signals fatal 274: superblock mismatches. To repair, make sure you have 275: an updated fsck_ffs and then you can use fsck_ffs -b 16 -c 4 276: to complete the filesystem upgrade. A message has 277: been added to the kernel which should detect this problem. 278: See the following discussion for more information: 279: http://mail-index.NetBSD.org/current-users/2004/01/11/0022.html 280: 281: 20031203: 282: New binutils builds may fail due to old dependencies. 283: It's necessary to "make cleandir" to ensure that 284: the dependencies will be rebuilt correctly. 285: 286: 20031111: 287: A newer mkdep is needed. Error noting that is 288: cc: Ambiguous abbreviation -- 289: 290: 20031008: 291: /usr/include/sys/disklabel_mbr.h was removed. 292: It's necessary to "make cleandir" to ensure that 293: the dependencies will be rebuilt correctly. 294: 295: 20031007: 296: A sign exension bug was fixed which set all the high bits 297: of our newly expanded ffs fs_flags. This should only 298: affect users who installed or upgraded in September of 2003. 299: A small utility program was posted to tech-kern which 300: should fix this problem, and a warning message was added 301: to the kernel which should discover and warn about it. See 302: http://mail-index.NetBSD.org/tech-kern/2003/10/07/0005.html 303: 304: 20030906: 305: With the addition of siginfo support the old signal trampoline 306: code has been deprecated to COMPAT_16. Make sure that your running 307: kernel has COMPAT_16 enabled before building userland. 308: 309: 20030801: 310: With the new openssl, there is some header and library shuffling. 311: rm -f /usr/include/des.h /usr/include/kerberosIV/* /lib/libdes* \ 312: /usr/lib/libdes* before building. 313: 314: 20030703: 315: Texinfo was updated to 4.6. To avoid failures when trying to 316: build the included texinfo files, do: 317: 318: cd src/gnu/usr.bin/texinfo 319: make MKINFO=no dependall install 320: 321: 20030630: 322: Groff was updated to 1.19; it's probably necessary to do 323: cd share/mk && make install 324: cd src/gnu/usr.bin/groff 325: make MKMAN=no dependall install 326: (untested). 327: 328: 20030516: 329: Due to bugs in the export handling code, invalid export lines 330: were accepted before and caused the kernel to panic when 331: mountd got restarted because it freed memory that had already 332: been freed. This has been fixed and the kernel checks 333: export addresses very strictly. If you upgrade your kernel, 334: make sure you also upgrade mountd, because if your export 335: file contains lines with an old inet4 address syntax (i.e. 336: a.b.c or a.b or a), they will get rejected by the new kernel. 337: 338: 20030402: 339: The superblock layout for FFS was changed. If you have 1.6 340: fsck binaries, they will signal a fatal superblock mismatch 341: with the first alternate, because they compare too many 342: fields (even ones that aren't useful). If possible, upgrade 343: your fsck_ffs binary before using a new kernel. 344: None of this signals actual filesystem damage. 345: 346: 20030324: 347: sendmail version 8.12.8 was imported. Since sendmail is 348: now setgid to the smmsp group, and runs in "collection" 349: mode for most common activities, there is a new config 350: file called submit.cf that needs to live in /etc/mail. 351: The generic submit.cf sample in /usr/share/sendmail/cf 352: is named netbsd-msp.cf. Upgrading your regular sendmail 353: configuration file is also strongly advised. 354: 355: See the section named "MESSAGE SUBMISSION PROGRAM" in 356: the updated /usr/share/sendmail/README file for more 357: information. 358: 359: 20030117: 360: Texinfo was updated to 4.3. To avoid failures when trying to 361: build the included texinfo files, do: 362: 363: cd src/gnu/usr.bin/texinfo 364: make MKINFO=no dependall install 365: 366: 20021223: 367: The METALOG format changed slightly, to remove the leading 368: "${DESTDIR}" from path names. 369: This only affects people building with UNPRIVED. 370: For complete safety, remove the DESTDIR entirely and 371: update tools/mtree, before running make build. 372: 373: 20021219: 374: CVS repository layout was changed. See the following for details 375: if you are using (anonymous) cvs to update your tree. 376: 377: http://mail-index.NetBSD.org/netbsd-announce/2002/12/19/0000.html 378: 379: 20021219: 380: install(1) had a '-N dbdir' option added, to specify an 381: alternate location to look up users & groups (instead 382: of the host system passwd(5) and group(5) databases). 383: 384: The build system was modified to take advantage of 385: this option (using ${NETBSDSRCDIR}/etc), so if you 386: use USETOOLS==no, you may have to rebuild and 387: reinstall usr.bin/xinstall first. 388: 389: 20021130: 390: fparseln(3) moved from libutil to libc. 391: If building to DESTDIR=/, reinstall the includes 392: and rebuild libc: 393: make includes 394: make do-lib-libc 395: If using build.sh, "cd tools/compat && make clean" 396: before rebuilding the tools. 397: 398: 20021126: 399: The mk.conf(5) variable SYS_INCLUDE has been deprecated, 400: including the optional "SYS_INCLUDE=symlinks" support. 401: All header files, including <sys/*.h> are copied into 402: /usr/include. 403: 404: 20021121: 405: The C run-time support files crtbegin.o and crtend.o 406: (and their companions crtbeginS.o and crtendS.o) were 407: split up, with new crti.o and crtn.o files resulting. 408: This means that libtool needs to be rebuilt once the 409: new libraries are installed. The process of rebuilding 410: libtool will cause it to automatically notice the new 411: required files, but it *must* be rebuilt in order to 412: do this. 413: 414: An out-of-date libtool will result in shared libraries 415: which lack _init() and _fini() routines, which means that 416: their global contructors/destructors will not be invoked. 417: 418: 20021121: 419: A bug related to how ARM ELF objects were tagged has been 420: corrected. 421: 422: NetBSD ARM ELF uses the soft-VFP floating point model by 423: default. However, the assembler lacked support for marking 424: objects as using the VFP floating point format, and the 425: compiler was not properly passing the flag indicating "soft-VFP" 426: to the assembler. 427: 428: Unfortunately, this means that the linker will now consider 429: old (i.e. not marked "softvfp") NetBSD ARM ELF objects to be 430: incompatible with new (properly marked) objects. 431: 432: The problem will only manifest itself if you attempt to compile 433: a new program using the fixed toolchain, and link that program 434: against old libraries which do not have the proper "softvfp" 435: markings. ALL OF YOUR EXISTING BINARIES AND SHARED LIBRARIES 436: WILL CONTINUE TO WORK PROPERLY. 437: 438: The only work-around for the problem is to recompile all of 439: the libraries on the system. The easiest way to do this for 440: system libraries is to install a binary snapshot; they are 441: generally available on releng.NetBSD.org. Any packages you 442: have installed which supply libraries will have to be recompiled 443: if you wish to link new programs against those libraries. 444: 445: If you have questions about this matter, please contact 446: port-arm@NetBSD.org. 447: 448: 20021011: 449: Systrace has been improved to support privilege elevation. 450: Updating the kernel requires the userland part of systrace 451: to be rebuilt. 452: 453: 20021010: 454: The config(8) grammar was changed to allow options to register 455: dependencies on attributes, as well as other options. Users 456: must update and reinstall usr.sbin/config before building a new 457: kernel. 458: 459: 20021009: 460: A new attribute dependency syntax was introduced to config(8), 461: which is now used by the SCSI configuration description. Users 462: must update and reinstall usr.sbin/config before building a new 463: kernel. 464: 465: 20021003: 466: Several changes have been made to the autoconfiguration 467: framework. Users must update and reinstall usr.sbin/config 468: before building a new kernel. 469: 470: 20021001: 471: The i386mp branch has been merged. To compile a kernel, users 472: will need to add the option 'cpu* at mainbus?' to their configuration 473: file. Multiprocessor kernels will need 474: ioapic* at mainbus? apid ? 475: options MULTIPROCESSOR 476: options COM_MPLOCK 477: 478: 20020922: 479: MKDYNAMICROOT=yes enabled by default, which means that 480: certain shared libraries are installed into /lib, the shared 481: linker is installed into /libexec, and all programs in /bin 482: and /sbin are dynamically linked. 483: If you do not use "make build", you should ensure that 484: you have the libraries and shared linker in the new locations, 485: with: 486: make do-lib-csu do-lib-libc do-lib do-gnu-lib do-ld.elf_so 487: 488: 20020917: 489: USE_NEW_TOOLCHAIN has been replaced with: 490: - TOOLCHAIN_MISSING -- set to "yes" on platforms for which 491: there is no working in-tree toolchain (hppa, ns32k, sh5, 492: x86_64). 493: - EXTERNAL_TOOLCHAIN -- if defined by the user, points to the 494: root of an external toolchain (e.g. /usr/local/gnu). This 495: enables the cross-build framework even for TOOLCHAIN_MISSING 496: platforms. 497: 498: 20020906: 499: gehenna-devsw has been merged into the trunk. Need to update and 500: reinstall usr.sbin/config before building the kernel. 501: 502: 20020822: 503: Crunched rescue tools (contents of /bin and /sbin, plus others) 504: are now provided in /rescue. 505: 506: To ensure that these are built statically linked (no matter 507: what the setting of LDSTATIC is), use a crunchgen(1) built 508: from sources newer than 20020820 (see the next entry). 509: 510: 20020820: 511: crunchgen(1) changed to ensure that the generated program 512: is statically linked. 513: 514: Solution: update and reinstall usr.bin/crunch 515: 516: 20020605: 517: smmsp user/group has been added for sendmail. 518: 519: Add the following into /etc/group: 520: 521: smmsp:*:17: 522: 523: and the following to /etc/master.passwd (via vipw): 524: 525: smmsp:*:17:17::0:0:Sendmail Message Submission Program:/nonexistent:/sbin/nologin 526: 527: 20020515: 528: sshd user/group has been added. Need to hand add this in, or sshd 529: will not let you log in (with default, or UsePrivlegeSeparation=yes) 530: 531: Add the following into /etc/group: 532: 533: sshd:*:16: 534: 535: and the following to /etc/master.passwd (via vipw): 536: 537: sshd:*:16:16::0:0:& pseudo-user:/var/chroot/sshd:/sbin/nologin 538: 539: Also /var/chroot/sshd directory needs to be present (digged as part of 540: the build process). 541: 542: 20020426: 543: NBUILDJOBS obsoleted in favor of just using -j. 544: 545: 20020426: 546: etc/postinstall added, which performs various checks for 547: configuration file updates and changes, and can fix most of 548: the problems identified. 549: This should make it much easier to upgrade a system's 550: configuration from earlier systems (as far back as NetBSD 1.5). 551: 552: 20020320: 553: <bsd.lib.mk> needs a new install(1) for its "-a cmd" support. 554: Build and install at usr.bin/xinstall before the build. 555: 556: 20020319: 557: Raw IPv6 socket now makes strict checking for sa_family and sa_len 558: on send(2) operation. Be sure to have sbin/rtsol and usr.sbin/rtsold 559: newer than November 2001 when you upgrade the kernel. 560: 561: 20020311: 562: ssh configuration files were moved from /etc to /etc/ssh. Beware 563: if you restart your machine from remote. Note that sshd.conf needs 564: to be changed (due to the use of "/etc" inside). 565: 566: 20020223: 567: Users of the VAX port will need to rebuild and install gas 568: so it deal with the now present register prefix used in all 569: the VAX assembly files. 570: 571: 20020118: 572: ntpd user/group has been added. Need to hand add this in or builds 573: will break as mtree aborts early. 574: 575: Add the following into /etc/group: 576: 577: ntpd:*:15: 578: 579: and the following to /etc/master.passwd (via vipw): 580: 581: ntpd:*:15:15::0:0:Ntpd pseudo-user:/var/chroot/ntpd:/sbin/nologin 582: 583: 20011207: 584: If you're attempting to build a snapshot on sparc64 and are getting 585: reloc errors from the toolchain groff binary this means your native 586: toolchain has some broken C++ bits. 587: 588: To fix: 589: 590: Build a new toolchain (i.e. build.sh -t) 591: Use the new toolchain to build and install natively (i.e. /usr/lib) 592: 593: gnu/lib/libgcc 594: gnu/lib/libstdc++ 595: 596: After this a snapshot will be able to be built. 597: 598: 20011201: 599: In order for a sparc64 build to work you must have a working awk. If 600: you've built and installed a system with the new toolchain up to this 601: point you do not have a working awk as its ability to do floating 602: point is broken. 603: 604: To build: 605: 606: remake and install gnu/lib/libgcc 607: remake and install gnu/usr.bin/gawk into /usr/bin (make sure it links 608: against the new libgcc.a) 609: 610: 20011128: 611: Kernel config information was changed to use defflag in 612: the various "files" files. Bug fixes to config(8) are 613: required in order for this to work properly. Make sure 614: to build and install in usr.sbin/config before attempting 615: to build a new kernel. 616: 617: 20011030: 618: libc/locale/wcstod.c now needs new lint(1). Update lint(1) 619: before building libc. 620: 621: 20011029: 622: The new document BUILDING.mdoc (view with nroff | more, or 623: see pre-generated .txt and .html versions) describes the build 624: procedure in great detail. BUILDING, and the USE_NEW_TOOLCHAIN 625: build process, are intended in the long run to replace this 626: manual update log. 627: 628: Users building a USE_NEW_TOOLCHAIN system should read the 629: BUILDING document for caveats. Generally, BUILDING supersedes 630: UPDATING for these systems, as tool updating is taken care of 631: by the new build system. 632: 633: 20011028: 634: src/etc/Makefile now needs install to be able to handle 635: symlinks that point to nowhere. A bug in install that 636: prevented this was corrected. 637: 638: Solution: update and reinstall usr.bin/xinstall 639: Better Solution: Use the new toolchain and it will just work 640: for you. 641: 642: 20011006: 643: /etc/mtree/NetBSD.dist has been updated to take advantage of 644: absolute path support added to mtree(8). Older mtree(8)s don't 645: understand the format. 646: 647: Solution: update and reinstall usr.sbin/mtree 648: 649: 20011004: 650: Crunchgen has been updated to work via reach-over makefiles. Updating 651: is suggested before running a snapshot build 652: 653: 20010915: 654: The new "ubcperf" code committed by Chuck Silvers removed 655: a header file, uvm/uvm_vnode.h. There may be stale .depend 656: files that still reference this file. 657: 658: Solution: "make cleandir && make dependall" in affected 659: directories. 660: 661: 20010803: 662: grep.info is now built from grep.texi using makeinfo. Since it 663: requires makeinfo v4.0, you need to install new texinfo before 664: building gnu/usr.bin/grep. To install new texinfo, please follow 665: the instruction described in 20010726 entry. 666: 667: 20010803: 668: (i386 only): i386 kernel now uses new instructions like 669: `fxsave' which old gas doesn't understand. To build the 670: kernel successfully, you need to build and install a new toolchain, 671: (i.e., build.sh -t) or (temporarily) comment out "options I686_CPU" 672: from your kernel configuration until you rebuild your userland. 673: See 20011029 above and BUILDING file in this directory for more information. 674: [updated 20020630 since i386 gas moved when USE_NEW_TOOLCHAIN enabled] 675: 676: 20010731: 677: Bootloader update on ELF platforms. DDB in kernels from before 678: this will be unable to read symbol tables provided by newer 679: bootloaders. 680: 681: 20010726: 682: Texinfo was updated to 4.0. To avoid failures when trying to 683: build the included texinfo files, do: 684: 685: cd src/gnu/usr.bin/texinfo 686: make MKINFO=no dependall install 687: 688: 20010718: 689: Enabled correct .init/.fini processing in crt0. The way this 690: was done was to change a -I directive to cc(1), which means 691: make(1) will have a stale dependency (it will be checking the 692: timestamp on the wrong "dot_init.h"). 693: 694: The symptom you will see is that new programs die with SIGSEGV 695: if you have a stale dependency. 696: 697: Solution: "make cleandir" in both lib/csu and libexec/ld.elf_so 698: before starting your build. 699: 700: 20010628: 701: A construct was added to uvm_page.h that uncovered a bug 702: in lint(1). If you get a warning/error about a non-portable 703: bitfield, update your lint(1) before proceeding. 704: 705: 20010226: 706: Added named user/group to system. Need to hand add this in or builds 707: will break as mtree aborts early. 708: 709: To work around add by hand: 710: 711: named:*:14: 712: 713: to /etc/group and add: 714: 715: named:*:14:14::0:0:Named pseudo-user:/var/named:/sbin/nologin 716: 717: to master.passwd (use vipw for instance if doing by hand). 718: 719: Now a make build should progress. 720: 721: 20010219: 722: get/setprogname() added. Any hostprogs that may use this will need 723: to be bootstrapped manually until the host system is current. 724: 725: Known problems: sys/arch/macppc/stand/fixcoff 726: usr.sbin/config (adding -DMAKE_BOOTSTRAP to 727: CFLAGS and rebuilding should work) 728: usr.sbin/mdsetimage - Build a static copy if 729: building a snapshot before fully bootstrapped. 730: 731: 20010204: 732: prepare the code to compile with stricter gcc flags. in 733: particular start eliminating redundant declarations. Yacc 734: needs to be installed before make build.