$DragonFly: src/UPDATING,v 1.6 2003/11/18 00:34:20 dillon Exp $ Updating Information for DragonFly users. This file should warn you of any pitfalls which you might need to work around when trying to update your DragonFly system. If you discover any problem, please contact the bugs@lists.dragonflybsd.org mailing list with the details. ------------------------------------------------------------------------------ > Compiling DragonFly --------------------- Compiling DragonFly requires an ISO C90 or higher compliant compiler. Compilers which support this are, amongst others: The GNU C Compiler, The Intel C++ Compiler, and The TenDRA Compiler. You can do DragonFly buildworld/buildkernel/installworld/installkernel on FreeBSD-stable boxen as well as DragonFly boxen. Due to source tree reorganizations at various times header files may have moved or been deleted, leaving stale header files in /usr/include. This can also cause 'make depend' to fail due to make depend getting confused about old header files. The easiest way to deal with include file messes is to reinstall /usr/include from scratch as follows: rm -rf /usr/include # safer to type this verses /usr/include/* mkdir /usr/include cd /usr/src make installincludes If your have trouble doing builds due to the make depend stage failing, the easiest solution is to wipe your object tree and rebuild/reinstall. rm -rf /usr/obj # safer to type this verses /usr/obj/* mkdir /usr/obj cd /usr/src make buildkernel KERNCONF= make installkernel make buildworld make installworld If you are using 'config' manually, note that building kernels via the manual config / /usr/src/sys/compile/BLAH procedure only works reliably on an uptodate DragonFly box. The official way to build kernels is via the 'make buildkernel KERNCONf=' target from /usr/src. > Kerberos IV ------------- Kerberos IV (eBones) was removed from the tree, please consider moving to Kerberos 5 (Heimdal). > FreeBSD and DragonFly ports ----------------------------- DragonFly will eventually have its own package management system but at the moment we leverage off of the FreeBSD ports system. You should maintain /usr/ports from the FreeBSD cvs repository via cvsup just like you do now. DragonFly has its own 'port overrides' hierarchy in /usr/dfports. You can check this out of the DragonFly cvs repository using: cd /usr cvs -R -d /cvs checkout dfports You may wish to use a consolidated distfiles directory, in which case you should make /usr/dfports/distfiles a softlink to your existing distfiles directory (typically /usr/ports/distfiles). Be sure that you have installed 'relpath' from the DragonFly sources (/usr/src/usr.bin/relpath) as well as the updated /usr/share/mk files from /usr/src/share/mk. As a test you can cd into /usr/ports/sysutils/cpdup and build the port. Dragonfly should contain an override and you should see a warning message that the DragonFly override is being build instead when you build it from the FreeBSD ports.