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.

2016/08/01 - new mandoc.db(5) format

To update all mandoc.db(5) files to the new format, run:

2016/08/08 - Mandatory W^X enforcement

W^X violations are now only permitted for binaries marked wxneeded executed from filesystems marked wxallowed.

2016/08/10 - RELRO by default on all archs but luna88k

The system now uses the RELRO design ("read-only after relocation") to lay out executables and libraries such that they use fewer mappings and more of the initial data can be protected as read-only. Unlike other OSes, this applies to all dynamic executables and libraries by default, as well as to static PIE executables.

To upgrade over this, start from a system running 6.0-release or later and an up-to-date source tree:

cd /usr/src && make obj && make clean && make includes
cd /usr/src/libexec/
make SUBDIR= depend && make SUBDIR= && doas make SUBDIR= install
cd /usr/src/lib/csu
make depend && make && doas make install
cd /usr/src/gnu/usr.bin/binutils-2.17
make -f Makefile.bsd-wrapper && doas make -f Makefile.bsd-wrapper install
cd /usr/src && make build

2016/08/14 - qabs(3) and qdiv(3) manpages removed

Their content was merged into the labs(3) and lldiv(3) manpages, so the separate files should be removed and and the database updated.
rm -f /usr/share/man/man3/qabs.3 /usr/share/man/man3/qdiv.3

$OpenBSD: current.html,v 1.709 2016/08/16 18:25:13 sebastia Exp $