OpenBSD Following -current and using snapshots [FAQ Index]

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.

2017/04/17 - build infrastructure change

The build infrastructure has been changed to allow building clang alongside gcc. This requires an update of the make "include" files:
# cd /usr/src/share/mk && make install

2017/04/19 - clang enabled for amd64 and i386

The clang compiler is now built alongside gcc on the amd64 and i386 architectures. It is recommended that you upgrade using a snapshot.

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, update the build infrastructure:

# cd /usr/src/share/mk && make install
Bootstrap clang:
# pkg_add g++
# cd /usr/src/gnu/usr.bin/clang
# make obj
# make install
Compile libcompiler_rt:
# cd /usr/src/lib/libcompiler_rt
# make obj
# make depend
# make
# make install
Then do a regular make build and make release.

$OpenBSD: current.html,v 1.815 2017/04/20 10:32:29 naddy Exp $