/centminmod-gcc

GCC 7.x & 8.x compiler & Binutils build scripts

Primary LanguageShell

Disclaimer

There is no support or guarantees when using the provided scripts. If you break your operating system, the only remedy is to re-install your operating system and start fresh again. Use at your own risk and yes there are risks. These scripts are no maintained or supported for GCC 7, 8, 9 after CentOS SCL Yum repos are available which they are available now.

GCC 7 & 8 Compiler Scripts

Command Line Usage for install.sh

./install.sh

Usage:

./install.sh {install|install7|install8|installpgo7|installpgo8|installgcc|installgcc7|installgcc8|installpgogcc7|installpgogcc8|binutils7|binutils8}

Build GCC 9 RPM + Binutils RPM Only and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh install9

Build GCC 8 RPM + Binutils RPM Only and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh install8

Build GCC 7 RPM + Binutils RPM Only and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh install7

Build GCC 9 RPM only without Binutils RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh installgcc9

Build GCC 8 RPM only without Binutils RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh installgcc8

Build GCC 7 RPM only without Binutils RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh installgcc7

Build GCC 9 RPM only with PGO enabled without Binutils RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh installpgogcc9

Build GCC 8 RPM only with PGO enabled without Binutils RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh installpgogcc8

Build GCC 7 RPM only with PGO enabled without Binutils RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh installpgogcc7

Build Binutils RPM Only without GCC RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh binutils9

Build Binutils RPM Only without GCC RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh binutils8

Build Binutils RPM Only without GCC RPM and without installing. If you want to install the RPM too set in install.sh the variable GCC_YUMINSTALL='y'

./install.sh binutils7

GCC 9 Usage

  • /opt/gcc-9-20191102 is symlinked to /opt/gcc9 for easier reference as the GCC snapshot date timestamped builds increment
  • Using /opt/gcc9/enable allows you to set PATH appropriately. Example gcc binary is at /opt/gcc9/bin/gcc but with source file enabled, can reference just as gcc
source /opt/gcc9/enable

or directly without symlink alias

source /opt/gcc-9-20191102/enable
ld -v
GNU ld (GNU Binutils) 2.33.1

ld.gold -v
GNU gold (GNU Binutils 2.33.1) 1.16
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc-9-20191102/libexec/gcc/x86_64-redhat-linux/9/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/opt/gcc-9-20191102 --disable-multilib --enable-bootstrap --enable-plugin --with-gcc-major-version-only --enable-shared --disable-nls --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-install-libiberty --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++ --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --build=x86_64-redhat-linux --enable-gold
Thread model: posix
gcc version 9.2.1 20191102 (GCC)
yum info binutils-gcc9 -q
Installed Packages
Name        : binutils-gcc9
Arch        : x86_64
Version     : 2.33.1
Release     : 1.el7
Size        : 46 M
Repo        : installed
From repo   : /binutils-gcc9-2.33.1-1.el7.x86_64
Summary     : binutils-gcc9 for centminmod.com LEMP stack installs
URL         : https://centminmod.com
License     : unknown
Description : binutils-gcc9 for centminmod.com LEMP stacks
yum info gcc9 -q
Installed Packages
Name        : gcc9
Arch        : x86_64
Version     : 9.2.1
Release     : 1.el7
Size        : 366 M
Repo        : installed
From repo   : /gcc9-9.2.1-1.el7.x86_64
Summary     : gcc9 for centminmod.com LEMP stack installs
URL         : https://centminmod.com
License     : unknown
Description : gcc9 for centminmod.com LEMP stacks
rpm -qp --provides /svr-setup/binutils-gcc9-2.33.1-1.el7.x86_64.rpm 
binutils-gcc9 = 2.33.1-1.el7
binutils-gcc9(x86-64) = 2.33.1-1.el7
rpm -qp --requires /svr-setup/binutils-gcc9-2.33.1-1.el7.x86_64.rpm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.10)(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.8)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libm.so.6()(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
rpm -qp --provides "/svr-setup/gcc9-9.2.1-1.el7.x86_64.rpm"
gcc9 = 9.2.1-1.el7
gcc9(x86-64) = 9.2.1-1.el7
libasan.so.5()(64bit)
libatomic.so.1()(64bit)
libatomic.so.1(LIBATOMIC_1.0)(64bit)
libatomic.so.1(LIBATOMIC_1.1)(64bit)
libatomic.so.1(LIBATOMIC_1.2)(64bit)
libcc1.so.0()(64bit)
libcc1plugin.so.0()(64bit)
libcp1plugin.so.0()(64bit)
libgomp.so.1()(64bit)
libgomp.so.1(GOACC_2.0)(64bit)
libgomp.so.1(GOACC_2.0.1)(64bit)
libgomp.so.1(GOMP_1.0)(64bit)
libgomp.so.1(GOMP_2.0)(64bit)
libgomp.so.1(GOMP_3.0)(64bit)
libgomp.so.1(GOMP_4.0)(64bit)
libgomp.so.1(GOMP_4.0.1)(64bit)
libgomp.so.1(GOMP_4.5)(64bit)
libgomp.so.1(GOMP_5.0)(64bit)
libgomp.so.1(GOMP_PLUGIN_1.0)(64bit)
libgomp.so.1(GOMP_PLUGIN_1.1)(64bit)
libgomp.so.1(GOMP_PLUGIN_1.2)(64bit)
libgomp.so.1(OACC_2.0)(64bit)
libgomp.so.1(OACC_2.0.1)(64bit)
libgomp.so.1(OACC_2.5)(64bit)
libgomp.so.1(OMP_1.0)(64bit)
libgomp.so.1(OMP_2.0)(64bit)
libgomp.so.1(OMP_3.0)(64bit)
libgomp.so.1(OMP_3.1)(64bit)
libgomp.so.1(OMP_4.0)(64bit)
libgomp.so.1(OMP_4.5)(64bit)
libgomp.so.1(OMP_5.0)(64bit)
libitm.so.1()(64bit)
libitm.so.1(LIBITM_1.0)(64bit)
libitm.so.1(LIBITM_1.1)(64bit)
liblsan.so.0()(64bit)
liblto_plugin.so.0()(64bit)
libquadmath.so.0()(64bit)
libquadmath.so.0(QUADMATH_1.0)(64bit)
libquadmath.so.0(QUADMATH_1.1)(64bit)
libquadmath.so.0(QUADMATH_1.2)(64bit)
libssp.so.0()(64bit)
libssp.so.0(LIBSSP_1.0)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.1)(64bit)
libstdc++.so.6(CXXABI_1.3.10)(64bit)
libstdc++.so.6(CXXABI_1.3.11)(64bit)
libstdc++.so.6(CXXABI_1.3.12)(64bit)
libstdc++.so.6(CXXABI_1.3.2)(64bit)
libstdc++.so.6(CXXABI_1.3.3)(64bit)
libstdc++.so.6(CXXABI_1.3.4)(64bit)
libstdc++.so.6(CXXABI_1.3.5)(64bit)
libstdc++.so.6(CXXABI_1.3.6)(64bit)
libstdc++.so.6(CXXABI_1.3.7)(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(CXXABI_FLOAT128)(64bit)
libstdc++.so.6(CXXABI_TM_1)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.1)(64bit)
libstdc++.so.6(GLIBCXX_3.4.10)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.12)(64bit)
libstdc++.so.6(GLIBCXX_3.4.13)(64bit)
libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.16)(64bit)
libstdc++.so.6(GLIBCXX_3.4.17)(64bit)
libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
libstdc++.so.6(GLIBCXX_3.4.2)(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
libstdc++.so.6(GLIBCXX_3.4.23)(64bit)
libstdc++.so.6(GLIBCXX_3.4.24)(64bit)
libstdc++.so.6(GLIBCXX_3.4.25)(64bit)
libstdc++.so.6(GLIBCXX_3.4.26)(64bit)
libstdc++.so.6(GLIBCXX_3.4.27)(64bit)
libstdc++.so.6(GLIBCXX_3.4.28)(64bit)
libstdc++.so.6(GLIBCXX_3.4.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4.6)(64bit)
libstdc++.so.6(GLIBCXX_3.4.7)(64bit)
libstdc++.so.6(GLIBCXX_3.4.8)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libtsan.so.0()(64bit)
libubsan.so.1()(64bit)

GCC 8 Usage

  • /opt/gcc-8-20190222 is symlinked to /opt/gcc8 for easier reference as the GCC snapshot date timestamped builds increment
  • Using /opt/gcc8/enable allows you to set PATH appropriately. Example gcc binary is at /opt/gcc8/bin/gcc but with source file enabled, can reference just as gcc
source /opt/gcc8/enable

or directly without symlink alias

source /opt/gcc-8-20190222/enable
ld -v
GNU ld (GNU Binutils) 2.31

ld.gold -v
GNU gold (GNU Binutils 2.31) 1.16
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc-8-20190222/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/opt/gcc-8-20190222 --disable-multilib --enable-bootstrap --enable-plugin --with-gcc-major-version-only --enable-shared --disable-nls --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-install-libiberty --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++ --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --build=x86_64-redhat-linux --enable-lto --enable-gold
Thread model: posix
gcc version 8.3.1 20190222 (GCC) 
yum info binutils-gcc8 -q
Name        : binutils-gcc8
Arch        : x86_64
Version     : 2.31
Release     : 1.el7
Size        : 47 M
Repo        : installed
Summary     : binutils-gcc8 for centminmod.com LEMP stack installs
URL         : https://centminmod.com
License     : unknown
Description : binutils-gcc8 for centminmod.com LEMP stacks
yum info gcc8-pgo -q
Installed Packages
Name        : gcc8-pgo
Arch        : x86_64
Version     : 8.3.1
Release     : 1.el7
Size        : 302 M
Repo        : installed
Summary     : gcc8-pgo for centminmod.com LEMP stack installs
URL         : https://centminmod.com
License     : unknown
Description : gcc8-pgo for centminmod.com LEMP stacks


* Mon Feb 25 2019 George Liu <centminmod.com> 8
- GCC 8 for centminmod.com LEMP stack installs
rpm -qp --provides /svr-setup/binutils-gcc8-2.31-1.el7.x86_64.rpm
binutils-gcc8 = 2.31-1.el7
binutils-gcc8(x86-64) = 2.31-1.el7
rpm -qp --requires /svr-setup/binutils-gcc8-2.31-1.el7.x86_64.rpm
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.10)(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libm.so.6()(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
rpm -qp --provides "/svr-setup/gcc8-pgo-8.3.1-1.el7.x86_64.rpm"
gcc8-pgo = 8.3.1-1.el7
gcc8-pgo(x86-64) = 8.3.1-1.el7
libasan.so.5()(64bit)
libatomic.so.1()(64bit)
libatomic.so.1(LIBATOMIC_1.0)(64bit)
libatomic.so.1(LIBATOMIC_1.1)(64bit)
libatomic.so.1(LIBATOMIC_1.2)(64bit)
libcc1.so.0()(64bit)
libcc1plugin.so.0()(64bit)
libcp1plugin.so.0()(64bit)
libgomp.so.1()(64bit)
libgomp.so.1(GOACC_2.0)(64bit)
libgomp.so.1(GOACC_2.0.1)(64bit)
libgomp.so.1(GOMP_1.0)(64bit)
libgomp.so.1(GOMP_2.0)(64bit)
libgomp.so.1(GOMP_3.0)(64bit)
libgomp.so.1(GOMP_4.0)(64bit)
libgomp.so.1(GOMP_4.0.1)(64bit)
libgomp.so.1(GOMP_4.5)(64bit)
libgomp.so.1(GOMP_PLUGIN_1.0)(64bit)
libgomp.so.1(GOMP_PLUGIN_1.1)(64bit)
libgomp.so.1(OACC_2.0)(64bit)
libgomp.so.1(OACC_2.0.1)(64bit)
libgomp.so.1(OMP_1.0)(64bit)
libgomp.so.1(OMP_2.0)(64bit)
libgomp.so.1(OMP_3.0)(64bit)
libgomp.so.1(OMP_3.1)(64bit)
libgomp.so.1(OMP_4.0)(64bit)
libgomp.so.1(OMP_4.5)(64bit)
libitm.so.1()(64bit)
libitm.so.1(LIBITM_1.0)(64bit)
libitm.so.1(LIBITM_1.1)(64bit)
liblsan.so.0()(64bit)
liblto_plugin.so.0()(64bit)
libmpx.so.2()(64bit)
libmpx.so.2(LIBMPX_1.0)(64bit)
libmpx.so.2(LIBMPX_2.0)(64bit)
libmpxwrappers.so.2()(64bit)
libmpxwrappers.so.2(LIBMPXWRAPPERS_1.0)(64bit)
libquadmath.so.0()(64bit)
libquadmath.so.0(QUADMATH_1.0)(64bit)
libquadmath.so.0(QUADMATH_1.1)(64bit)
libssp.so.0()(64bit)
libssp.so.0(LIBSSP_1.0)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.1)(64bit)
libstdc++.so.6(CXXABI_1.3.10)(64bit)
libstdc++.so.6(CXXABI_1.3.11)(64bit)
libstdc++.so.6(CXXABI_1.3.2)(64bit)
libstdc++.so.6(CXXABI_1.3.3)(64bit)
libstdc++.so.6(CXXABI_1.3.4)(64bit)
libstdc++.so.6(CXXABI_1.3.5)(64bit)
libstdc++.so.6(CXXABI_1.3.6)(64bit)
libstdc++.so.6(CXXABI_1.3.7)(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(CXXABI_FLOAT128)(64bit)
libstdc++.so.6(CXXABI_TM_1)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.1)(64bit)
libstdc++.so.6(GLIBCXX_3.4.10)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.12)(64bit)
libstdc++.so.6(GLIBCXX_3.4.13)(64bit)
libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.16)(64bit)
libstdc++.so.6(GLIBCXX_3.4.17)(64bit)
libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
libstdc++.so.6(GLIBCXX_3.4.2)(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
libstdc++.so.6(GLIBCXX_3.4.23)(64bit)
libstdc++.so.6(GLIBCXX_3.4.24)(64bit)
libstdc++.so.6(GLIBCXX_3.4.25)(64bit)
libstdc++.so.6(GLIBCXX_3.4.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4.6)(64bit)
libstdc++.so.6(GLIBCXX_3.4.7)(64bit)
libstdc++.so.6(GLIBCXX_3.4.8)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libtsan.so.0()(64bit)
libubsan.so.1()(64bit)
rpm -qp --requires "/svr-setup/gcc8-pgo-8.3.1-1.el7.x86_64.rpm"
/bin/sh
/bin/sh
/bin/sh
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.2.5)(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
libasan.so.5()(64bit)
libatomic.so.1()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.10)(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.16)(64bit)
libc.so.6(GLIBC_2.17)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.2)(64bit)
libc.so.6(GLIBC_2.3.3)(64bit)
libc.so.6(GLIBC_2.6)(64bit)
libcc1.so.0()(64bit)
libcc1plugin.so.0()(64bit)
libcp1plugin.so.0()(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcc_s.so.1(GCC_3.3)(64bit)
libgcc_s.so.1(GCC_4.2.0)(64bit)
libgomp.so.1()(64bit)
libitm.so.1()(64bit)
liblsan.so.0()(64bit)
liblto_plugin.so.0()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libmpx.so.2()(64bit)
libmpxwrappers.so.2()(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.3)(64bit)
libpthread.so.0(GLIBC_2.3.4)(64bit)
libquadmath.so.0()(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.2.5)(64bit)
libssp.so.0()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libtsan.so.0()(64bit)
libubsan.so.1()(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1

GCC 7 Usage

  • /opt/gcc-7-20180111 is symlinked to /opt/gcc7 for easier reference as the GCC snapshot date timestamped builds increment
  • Using /opt/gcc7/enable allows you to set PATH appropriately. Example gcc binary is at /opt/gcc7/bin/gcc but with source file enabled, can reference just as gcc
source /opt/gcc7/enable

or directly without symlink alias

source /opt/gcc-7-20180111/enable
gcc -v    
Using built-in specs.
COLLECT_GCC=/opt/gcc7/bin/gcc
COLLECT_LTO_WRAPPER=/opt/gcc-7-20180111/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/opt/gcc-7-20180111 --disable-multilib --enable-bootstrap --enable-plugin --with-gcc-major-version-only --enable-shared --disable-nls --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-install-libiberty --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++ --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --build=x86_64-redhat-linux --enable-lto --enable-gold
Thread model: posix
gcc version 7.2.1 20180111 (GCC) 

RPMs

Build both GCC 7 & GCC 8 RPMs (both PGO + non-PGO) and accompanying Binutils RPMs all at once

./install-all.sh

resulting RPMs saved in /svr-setup directory built on Intel Core i7 4790K

ls -lah /svr-setup | egrep 'gcc[7,8]|binutils-gcc' | grep rpm
-rw-r--r--    1 root      root       5.2M Jan 21 03:37 binutils-gcc7-2.29.1-1.el7.x86_64.rpm
-rw-r--r--    1 root      root       5.2M Jan 21 04:28 binutils-gcc8-2.29.1-1.el7.x86_64.rpm
-rw-r--r--    1 root      root        33M Jan 21 04:00 gcc7-7.2.1-1.el7.x86_64.rpm
-rw-r--r--    1 root      root        37M Jan 21 04:27 gcc7-pgo-7.2.1-1.el7.x86_64.rpm
-rw-r--r--    1 root      root        36M Jan 21 04:51 gcc8-8.0-1.el7.x86_64.rpm
-rw-r--r--    1 root      root        40M Jan 21 05:29 gcc8-pgo-8.0-1.el7.x86_64.rpm

Total Run Time: 6771.610319117 seconds