Active OpenBSD development is known as the -current branch. These sources are frequently compiled into releases known as snapshots. Active development sometimes pushes aggressive changes, and complications can arise when building the latest code from a previous point in time. Some of the shortcuts for getting over these hurdles are explained on this page. In general, it's far better to use the OpenBSD upgrade procedure with a newer snapshot, as developers will have gone through the trouble for you already.
Make sure you've read and understand how to build the system from source before using -current and the instructions below.
You should always use a snapshot as the starting point for running -current. Upgrading by compiling your own source code is not supported.
Most of these changes will have to be performed as root.
# cd /usr/src/share/mk && make install
If you build your own releases, note that make release now needs more than 2G space on /usr/obj. Increasing the size to 3G is recommended.
If you wish to upgrade from source, you need to bootstrap clang:
Compile libcompiler_rt:# pkg_add g++ # cd /usr/src/gnu/usr.bin/clang # make obj # make BOOTSTRAP_CLANG=yes # make install
Then do a regular make build and make release.# cd /usr/src/lib/libcompiler_rt # make obj # make depend # make # make install
# cd /usr/src/gnu/usr.bin/cc # make obj # make depend # make # make install
Then do a fresh install and restore the data from the backup.# fdisk -iy -g -b 960 sdN
After the upgrade, you can use ksh_hist.txt as your history file.$ fc -ln 1 | sed 's/^ //' > ~/ksh_hist.txt
If you upgrade from source, note that the old ksh recklessly truncates a history file that it doesn't understand, so be careful not to run interactive sessions of the old and new ksh in parallel. A reboot after the build is recommended.