Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Work around bug 10430 for now


You need to install several packages in order to build illumos.

  • Before downloading the required packages you will need to update the packages on the system. Build dependencies will occasionally be updated between media releases of OpenIndiana and OmniOS.

Code Block
titlePackage update
 sudo pkg update
  • On OpenIndiana, the build-essential package contains most of what's required.  In addition, a Python 3 runtime and GCC version 7 are required for a complete build with shadow checks.
Code Block
titleOpenIndiana packages
sudo pkg install build-essential runtime/python-35 developer/gcc-7 system/library/c-runtime
  • On OmniOS, the illumos-tools (meta)package is required:


On OpenIndiana you'll likely see something like 'Branch: 20182019.0.0.16790'. You have to use PKGVERS_BRANCH to overwrite this value, you can't use ONNV_BUILDNUM for this purpose. You should set PKGVERS_BRANCH in a form of YEAR.MAJOR.0.0 , where YEAR is the current year and MAJOR is greater that the one used by OpenIndiana. For example:  

Code Block
export PKGVERS_BRANCH=20182019.999.0.0

Building with only GCC-4.4.4-il (i.e. without using Sun Studio at all)


In order to build illumos-gate on OmniOS, use version r151028 or higher. OmniOS has sample build files in /opt/onbld/env/omnios-* for use with illumos-gate or illumos-omnios.  If you roll your own env files, read on. You can also find sample environment files for building on different OmniOS releases at

Code Block
titleOmniOS modifications
# Set to the current perl version (this is correct for OmniOS r151028)
export PERL_VERSION=5.28
export PERL_ARCH=i86pc-solaris-thread-multi-64int
# Set to current python3 version (this is correct for OmniOS r151028)
export PYTHON3=/usr/bin/python3.5

export SPRO_ROOT=/opt/sunstudio12.1
export ONLY_LINT_DEFS="-I${SPRO_ROOT}/sunstudio12.1/prod/include/lint"
export ON_CLOSED_BINS=/opt/onbld/closed

export __GNUC=
export GNUC_ROOT=/opt/gcc-4.4.4/
export PRIMARY_CC=gcc4,/opt/gcc-4.4.4/bin/gcc,gnu
export PRIMARY_CCC=gcc4,/opt/gcc-4.4.4/bin/g++,gnu
export SHADOW_CCS=gcc7,/opt/gcc-7/bin/gcc,gnu
export SHADOW_CCCS=gcc7,/opt/gcc-7/bin/g++,gnu

# This will set ONNV_BUILDNUM to match the release on which you are building, allowing ONU.
export ONNV_BUILDNUM=`grep '^VERSION=r' /etc/os-release | cut -c10-`


Code Block
titleOpenIndiana Hipster mods
# Set version which is greater than current OpenIndiana Hipster build numbers, ONNV_BUILDNUM is ignored if PKGVERS_BRANCH is set:
export PKGVERS_BRANCH=20172019.3999.0.0 

# Set to current perl version
export PERL_VERSION="5.22"
export PERL_PKGVERS="-522"

# If you are building on the latest OpenIndiana (2017-03-07 and later)
export BLD_JAVA_8=