Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The primary version of GCC necessary for development and integration 4.4.4 (4.4.4-il-34) should have been installed on your system when you installed the prerequisites above.  If for some reason that didn't happen (old build system, or the like), tarballs are available as described in the initial heads-up notice  2012-06-15 Illumos will now build with GCC 4.4.4 + patches.


Info
titleOpenIndiana Hipster 20161030

OpenIndiana Hipster 20161030 ships with gcc-4.4.4-il-3, so make sure to update that package to -il-4 before building.

Building with 4.4.4-il-3 leads to build failures with warnings as below in the mail_msg and nightly.log:

../../i86pc/os/trap.c:2188: error: unknown conversion type character '-' in format [-Wformat]
../../i86pc/os/trap.c:2188: error: too many arguments for format [-Wformat-extra-args]


Note that the compiler for building illumos-gate installs into /opt/gcc/4.4.4 on OpenIndiana, and /opt/gcc-4.4.4 on OmniOS and is not available in the default PATH for building application programs. You can add (OI example) PATH="/opt/gcc/4.4.4/bin:$PATH"; export PATH to your profile to reference this compiler, or install one of the other GCC builds, destined as the current default compiler for application programs (versions ranging from 3.4.3 to 4.6.x, see pkg info -r '*gcc*' for details du-jour).

...

Code Block
titleOmniOS mods
# Help OmniOS find lint
export SPRO_ROOT='/opt'
 
# OmniOS places GCC 4.4.4 differently.
export GCC_ROOT=/opt/gcc-4.4.4/

# These are required for building on OmniOS.
export PERL_VERSION=5.16.1
export PERL_PKGVERS=
export PERL_ARCH=i86pc-solaris-thread-multi-64int

# Pre-r151022 (i.e. older) versions of OmniOS building -gate
# need to set Python versions explicitly.
# Utter "/usr/bin/python --version" to confirm.
export PYTHON_VERSION="2.6"
export PYTHON_PKGVERS="-26"

# SET ONNV_BUILDNUM appropriately - to ONU r151014, set this to 151014.
export ONNV_BUILDNUM=151014

...

If you need to also compile IPP and SMB printing, you must provide the Apache, Apr/Apr-util for IPP or CUPS headers for SMB printing.

OpenIndiana Hipster Modifications

To build illumos-gate on OpenIndiana Hipster, you'll have to customize illumos.sh in the following way:

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=2016.3.0.0 

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

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

Starting the build

You are now ready to start the illumos build.

...

Cure: Builders must either set JAVA_ROOT to an installation location of JDK7, or must have /usr/java populated with JDK7 (or pointing to an installation location of JDK7). You can use whatever distribution of JDK7+ works for you best (packages or tarballs, OpenJDK or Sun/Oracle JDK).


If you are on the latest OI Hipster, you want to install runtime/java/openjdk7openjdk8 and developer/java/openjdk7{,-64}openjdk8 packages. Then in your env file, set:

Code Block
export BLD_JAVA_ROOT='/usr/jdk/instances/openjdk1.7.0'8=

Build times

Include Page
Build Times

...