This page will cover the requirement to bootstrap pkgsrc on illumos-based distributions. (illumos is the continuation of OpenSolaris.) Prebuilt binaries & a repository of packages is provided by Joyent so it is not necessary to go through this process unless by choice. It is assumed that a copy of the pkgsrc files have been obtained and uncompressed, ready to bootstrap.

See also pkgsrc/bootstrap/README.Solaris; this wiki page should probably be merged into that file.

illumos gcc versions

In 2022, the default compiler is gcc 7.3.

/opt/gcc/$(GCC_VERSION) on Illumos is usually where the patched version of the compiler - used to build illumos itself - is located. This will exists only after installing the illumos build environment (package 'build-essential' on OI, 'illumos-tools' on OmniOS and 'illumos-build' on Tribblix). Vanilla GCC instead is normally installed at /usr/gcc/$(GCC_VERSION) and symlinked to /usr/bin/gcc-*, with the default alternative being /usr/bin/gcc. Upon installing any gcc version, it should be already available in $PATH.


As of 2017, on a freshly installed system the only components needed to bootstrap pkgsrc successfully is GCC, lint, linker object-files and header files.

# pkg install gcc48 header linker lint object-file header-math

pkgsrc can then be bootstrapped as normal


As of 2017, all that's required is for the develop overlay to be installed in order to successfully bootstrap pkgsrc on Tribblix.

# zap install-overlay develop


As of 2017, on the 151a8 development release of OpenIndiana, the installation of GCC & GNU binutils is required alongside lint, object-files and header files to bootstrap pkgsrc successfully.

# pkg install illumos-gcc gnu-binutils system/header developer/library/lint object-file header-math
# PATH=/opt/gcc/4.4.4/bin:/usr/gnu/bin:$PATH pkgsrc/bootstrap/bootstrap


[OpenSXCE has not been updated since 2014.]

As of 2017, comes with all necessary component to bootstrap pkgsrc out of the box, just ensure PATH contains the path to GCC & linker /opt/gcc/4.4.4/bin:/usr/gnu/bin when performing a system wide install as root. No changes required when performing an unprivileged bootstrap as environment contains necessary settings.