他のcentosシリーズは、テストされていない状態で参照できます。質問がある場合は、メッセージを残して話し合うことができます。
一部の比較的新しいソフトウェアには最新バージョンのgccが必要なため、yum installgccを使用してcentos7.2によってインストールされたバージョン4.8.5は、ソフトウェアの要件を満たさない場合があります。最新バージョンのGCCを投げる方法は次のとおりです。
GCC公式ウェブサイト:https://gcc.gnu.org/
私の現在のバージョンは9.3なので、最新バージョンをインストールします。
01
インストールベースに依存する環境
yum install glibc-headers gcc-c++ gcc gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel
02
ダウンロード
http://mirror.hust.edu.cn/gnu/gcc/
gcc-9.3.0.tar.gzを選びました。
cd
mkdir software
cd software
wget http://mirror.hust.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
tar zxvf gcc-9.3.0.tar.gz
cd cc-9.3.0
03
依存関係パッケージをダウンロードします:
. /contrib/download_prerequisites
04
構成
mkdir build
cd build
../configure --prefix=/usr/local/gcc-9.3.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
configureは、多くのオプションを備えた実行可能なスクリプトです。コマンド./configure –helpを使用して、インストールするソースパスの下にオプションの詳細なリストを出力します。 --prefixオプションは、インストールパスを構成するためのものです。
--prefixオプションが構成されていない場合、インストール後:
実行可能ファイルはデフォルトで / usr / local / bin
に配置されます。
ライブラリファイルはデフォルトで / usr / local / lib
に配置されます。
構成ファイルはデフォルトで / usr / local / etc
に配置されます。
その他のリソースファイルは / usr / local / share
に配置されます
構成パラメーターの詳細な説明:
- - prefix = / usr / local / gcc-9.3.0 /
:すべてのリソースファイルをこのパスの下に配置します。
- - enable-checking = release
:生成されたコンパイラは、コンパイルプロセス中に追加のチェックを実行しません。
- - enable-languages = c、c ++
:gccにc、c ++をサポートさせます。
- - disable-multilib
:他のプラットフォーム用の実行可能コードにコンパイルされたクロスコンパイラーを生成しません。
05
コンパイル
make
このプロセスには長い時間がかかります。我慢する必要があります
06
インストール
make install
07
余波
01
**yum **によってダウンロードされた古いバージョンのgccを削除します
yum remove gcc
02
新しいバージョンのgccをコマンド検索パスに追加します:
ln -s /usr/local/gcc-9.3.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-9.3.0/bin/g++/usr/bin/g++
03
LD_LIBRARY_PATH環境変数を追加
/ etc / profileに次のコードを追加します。
# gccLD_LIBRARY_PATH=/usr/local/gcc-9.3.0/lib#export LD_LIBRARY_PATH
変更後に実行する
source /etc/profile
04
**最後にlibstdc ++。so.6 **を置き換えます
cp /usr/local/gcc-9.3.0/lib64/libstdc++.so.6.0.28/usr/lib64/libstdc++.so.6.0.28
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.28/usr/lib64/libstdc++.so.6
4番目のステップを理解していない人のために、あなたは使うことができます
strings /usr/local/gcc-9.3.0/lib64/libstdc++.so.6.0.28| grep GLIBCXX
交換前後の/libstdc++.so.6の違いを比較します
ご不明な点がございましたら、メッセージを残してください。一緒に投げます
Recommended Posts