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.
OmniOS
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
Tribblix
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
OpenIndiana
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
[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.