After a preliminary testing phase the latest release of the GNU Compiler Collection has been pushed to our main repository.
Package installation
Following the usual nomenclature the package FMRI is developer/gcc-8, while runtime libraries for C, C++, FORTRAN, and Objective C are provided in separate packages.
Compilers can be installed on any recently updated system with:
$ pfexec pkg install gcc-8
If no available version is found by the package manager, it means that your system is too old to satisfy version constraints and should be updated to a new Boot Environment.
As usual the compiler is installed in /usr/gcc/$(GCC_VERSION) and symbolic links postfixed with ‘-8’ are provided in /usr/bin so that compilers can be invoked in the same fashion as:
> gcc-8 --version
gcc-8 (OpenIndiana 8.1.0-OI-0) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Building GCC from source
The build recipe can be found in oi-userland under developer/gcc-8 for those willing to install from source.
However be advised that fixes #9545 and #9553 to illumos headers are now required to build gcc-7 and gcc-8 so that updating the system may be necessary if you do not want to apply the patches manually.
Make sure all the dependencies are installed using the env-prep target, and that the autoconf-archive package is present on the system.
Building illumos
Although the provided compiler package is patched to support compilation of illumos, building of illumos-gate with GCC 8.1 is not supported yet.
Some issues discovered in the past week are already being addressed.
The motivation with this new GCC release is again to provide a way forward to developers for compiler migration and testing.
We hope that this contribution will be useful to anyone developing on illumos 🙂
Building oi-userland
The userland has been rebuilt with gcc-8 and is available in an experimental repository for testing purposes.
The repository is updated whenever components are updated or new components added; as soon as pull-requests are merged.
Aside from clang-40, gcc-5, and sbcl about 1400 packages have been republished with GCC 8.1 + Binutils 2.30.
Two early issues related to the behaviour of some applications in XPG6 standard compliant mode have already been reported, together with a minor issue affecting Firefox.
As usual feedback is appreciated, do not hesitate to report any issue related to the new compiler package.
Enjoy!