GCC 8.1 now available as testing compiler

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!