RHEL 8にgcc 9をインストール（AppStream）

# はじめに

Application Stream(AppStream)を利用してRHEL8にgcc9をインストール
参考：[RHEL 8 でのアプリケーション開発 Red Hat Enterprise Linux 8 \| Red Hat Customer Portal](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html-single/developing_applications_in_rhel_8/index#gcc-toolset_toolsets)

## サポート

本手法で導入した場合、[Red Hat Enterprise Linux 8 Application Streams Life Cycle - Red Hat Customer Portal](https://access.redhat.com/node/4079021)より、2021-11がEOLだと思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。

## LOG

### インストール

```shell-session
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 (Ootpa)

# yum install -y gcc-toolset-9
... 略
# scl enable gcc-toolset-9 bash
```

### 各種確認

```shell-session
# which gcc
/opt/rh/gcc-toolset-9/root/usr/bin/gcc

# gcc --version
gcc (GCC) 9.1.1 20190605 (Red Hat 9.1.1-2)
Copyright (C) 2019 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.

# yum info gcc-toolset-9
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.
Last metadata expiration check: 0:02:45 ago on Wed Nov 13 10:06:14 2019.
Installed Packages
Name         : gcc-toolset-9
Version      : 9.0
Release      : 3.el8
Architecture : x86_64
Size         : 2.1 k
Source       : gcc-toolset-9-9.0-3.el8.src.rpm
Repository   : @System
From repo    : rhel-8-for-x86_64-appstream-rpms
Summary      : Package that installs gcc-toolset-9
License      : GPLv2+
Description  : This is the main package for gcc-toolset-9 Software Collection.

# yum info gcc-toolset-9-gcc
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.
Last metadata expiration check: 0:03:24 ago on Wed Nov 13 10:06:14 2019.
Installed Packages
Name         : gcc-toolset-9-gcc
Version      : 9.1.1
Release      : 2.4.el8
Architecture : x86_64
Size         : 75 M
Source       : gcc-toolset-9-gcc-9.1.1-2.4.el8.src.rpm
Repository   : @System
From repo    : rhel-8-for-x86_64-appstream-rpms
Summary      : GCC version 9
URL          : http://gcc.gnu.org
License      : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Description  : The gcc-toolset-9-gcc package contains the GNU Compiler Collection version 9.

# yum info gcc-toolset-9-gcc-c++
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.
Last metadata expiration check: 0:04:02 ago on Wed Nov 13 10:06:14 2019.
Installed Packages
Name         : gcc-toolset-9-gcc-c++
Version      : 9.1.1
Release      : 2.4.el8
Architecture : x86_64
Size         : 31 M
Source       : gcc-toolset-9-gcc-9.1.1-2.4.el8.src.rpm
Repository   : @System
From repo    : rhel-8-for-x86_64-appstream-rpms
Summary      : C++ support for GCC  version 9
URL          : http://gcc.gnu.org
License      : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Description  : This package adds C++ support to the GNU Compiler Collection
             : version 9.  It includes support for most of the current C++ specification
             : and a lot of support for the upcoming C++ specification.
```