備忘録
結論
旧バージョンのgccをリネームで退避させ、新バージョンへのシンボリックリンクを貼ることで解決した。
# mv /usr/bin/gcc /usr/bin/gcc.bak && ln -s /usr/local/bin/gcc /usr/bin/gcc
# mv /usr/bin/gcc-ar /usr/bin/gcc-ar.bak && ln -s /usr/local/bin/gcc-ar /usr/bin/gcc-ar
# mv /usr/bin/gcc-ranlib /usr/bin/gcc-ranlib.bak && ln -s /usr/local/bin/gcc-ranlib /usr/bin/gcc-ranlib
何があったのか
NVIDIAドライバをインストール中、centos 7にデフォルトでインストールされているgcc 4.2.2が古すぎてエラーになってしまった。
ソースコードからgcc 12.2.0をインストールし、gcc -vでバージョンが上がっていることを確認したにもかかわらずドライバのインストールスクリプトはgcc 4.2.2を呼び出して同じエラーを吐き出すだけだった。
どうしたのか
結論の通り、デフォルトで入っている/usr/bin以下のgcc関連実行ファイルを退避、/usr/local/bin以下にある新しいgccへのシンボリックリンクを貼った。