Versions Compared

Key

  • 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
languagebash
 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
languagebash
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 https://downloads.omniosce.org/env/.

Code Block
titleOmniOS modifications
languagebash
# 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
export PERL_PKGVERS=
 
# Set to current python3 version (this is correct for OmniOS r151028)
export PYTHON3=/usr/bin/python3.5
export TOOLS_PYTHON=$PYTHON3

export SPRO_ROOT=/opt/sunstudio12.1
export SPRO_VROOT="$SPRO_ROOT"
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-`
export PKGVERS_BRANCH=$ONNV_BUILDNUM.0

...

Code Block
titleOpenIndiana Hipster mods
languagebash
# 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=

...