CentOS7 環境で gcc (バージョン 10.2.0) をアップグレードする詳細な手順

CentOS7 環境で gcc (バージョン 10.2.0) をアップグレードする詳細な手順

簡単な紹介

みなさんこんにちは。今日は gcc コンパイラーをアップグレードする方法を皆さんと共有します。 Linux システムには実際には gcc コンパイラが組み込まれていますが、バージョンは比較的低いです。現在、Apache Doris などの一部のオープン ソース ツールでは、インストール中に C++ コードをコンパイルするために、gcc 5.3.1+ コンパイラのより高いバージョンが必要です。次に、gcc をアップグレードする方法 (4.8.5 から 10.2.0 へ) を理解しましょう。

1. 現在のgccバージョンを確認する

## 現在のシステムの gcc バージョンを確認します。デフォルトは 4.8.5g++ -v または gcc --version です。 

439cdc8c22d5ec175b4675ff77c22220.png

2. gccインストールパッケージ(バージョン10.2.0)をダウンロードします。

## ダウンロード アドレス: http://ftp.gnu.org/gnu/gcc## Linux の wget コマンドでダウンロード wget http://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz 

84f1e78dc6db592c9d826d540647ba87.png

0d411b8aa689ceeeae30834be4dd3369.png

3. インストールパッケージを解凍する

tar -xvf gcc-10.2.0.tar.gz## ディレクトリ gcc-10.2.0 を解凍します

70e965438fb0a3364c50d6b0be1b134d.png

4. 依存ライブラリをダウンロードする

## 解凍したディレクトリに入り、依存ライブラリをダウンロードします。cd gcc-10.2.0./contrib/download_prerequisites 

原文

5. インストールシステムにはモジュールが含まれている必要があります

yum install -y gcc-c++ libstdc++-static ant cmake byacc flex automake libtool binutils-devel bison ncurses-devel gcc kernel-devel libtool libatomic 

ed9c007d1b5936fcb471fbea3781e4f.png

6. コンパイルディレクトリを作成する

## gcc-10.2.0 と同じディレクトリにコンパイル ディレクトリを作成します。名前は、gcc-build-10.2.0mkdir ../gcc-build-10.2.0 です。 

87263594af49e29e6dc7a5375af12d2a.png

7. Makefileを生成する

## コンパイルディレクトリに入り、コマンドを実行して Makefile ファイルを生成します cd gcc-build-10.2.0../gcc-10.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib 

1feac34f1c1384220825d48e54d96e99.png

例:

エラー メッセージが表示される場合は、次のように構成します: error: GCC のビルドには、GMP 4.2+、MPFR 3.1.0+、および MPC 0.8.0+ が必要です。

手順 4 でダウンロードした依存パッケージを削除してから、再度実行する必要があります。正しいパケット サイズは次のとおりです。

cc8083ef2c4de66a1ef170e09db8d611.png

d0870d82ec6645dc1a98fac4e9ae69ac.png

8. コンパイル

# コマンドを実行してコンパイルします。ここでは 4 つのジョブが使用されています。コンパイル時間は約 40 分です。この値は高く設定しすぎないようにしてください。make -j4 ## 非常に遅い nohup と実行を使用することをお勧めします。 

86cb7849f2ed32a29ab6e727ee523e7f.png

9. インストール

make install ## 実行には nohup & を使用することをお勧めします。完了するまでに約2分かかります

10. libstdc++.so を設定する

## コンパイルディレクトリに libstdc++.so が存在するかどうかを確認します (gcc-build-10.2.0) find . -name "libstdc++.so*" 

7a5f2e50b517766be90a51b89b4631f9.png

## libstdc++.so 構成ディレクトリに入ります cd /usr/lib64 ## 新しい libstdc++.so をディレクトリにコピーします cp /root/gcc-build-10.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.28 。 ## バックアップします mv libstdc++.so.6 libstdc++.so.6.old ## 新しいソフトリンクを作成します ln -sv libstdc++.so.6.0.28 libstdc++.so.6 

eefcf342325df7e753f1d7c70afa518f.png

11. 環境変数を設定する

## 古いバージョン 4.8.5 をアンインストールしますyum remove gcc gcc-c++## ルート ディレクトリに入りますcd ~## 現在のユーザー環境変数を編集しますvim .bash_profile## ContentPATH=$PATH:$HOME/bin:/usr/local/bin/export CC=/usr/local/bin/gccexport CXX=/usr/local/bin/g++## すぐに有効になりますsource ~/.bash_profile## gcc --version を確認します

7f6f5c612556a7cdbeeb063e5bfa42ee.png

要約する

gcc のアップグレード プロセス中に、さまざまなモジュールまたはパッケージの欠落の問題が発生する可能性があります。一つずつインストールする必要があります。実は、これは Linux システム環境自体にも関係しています。ですから、問題があっても恐れずに解決してください。君ならできると信じています。

最後に、全体的なインストールのための小さなスクリプトが添付されています

: : : : : : : : : : : : : : :

CentOS7 環境で gcc (バージョン 10.2.0) をアップグレードする詳細な手順については、これで終わりです。CentOS アップグレード gcc に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux の CentOS 6.5 で gcc を gcc-6.1.0 に手動でアップグレードする
  • Linux の非常に詳細な gcc アップグレード プロセス

<<:  HTML に基づいてページを更新せずにフォーム送信を実装する

>>:  TypeScript マッピング型の詳細

推薦する

英語: リンクタグはIEでhrefを自動的に補完します

英語: IE では、リンク タグによって href が自動的に補完されます。 Ajax Link T...

Dockerコンテナ間の通信を実装する方法

シナリオ: laradock 開発環境 (php7.3+mysql5.7) がローカルに構築されてい...

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

MySQLテーブルのテーブル構造を素早く変更する方法

MySQL テーブルのテーブル構造をすばやく変更する - 「MySQL 管理」から抜粋 ALTER ...

MySQL データベースのエンコーディングを utf8mb4 に変更する方法

utf8mb4 エンコーディングは utf8 エンコーディングのスーパーセットであり、utf8 と互...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル (Win10 Home バージョン 64)

超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...

Dockerイメージ内のファイルを表示する方法

Dockerイメージ内のファイルを表示する方法1. すでに実行中の場合すでに実行中のイメージについて...

燃える炎効果の英語フォント16種類をシェアする

私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...

HTMLファイル内の中国語の文字化けとブラウザでの表示の問題

今日も私のページが文字化けしていたので、インターネットで関連する問題を検索しました。この方法はかなり...

Linux に起動方法を追加する (サービス/スクリプト)

システムの起動時に読み込む必要がある設定ファイル/etc/profile、/root/.bash_p...

Windows で Graphviz をインストールして開始する方法のチュートリアル

ダウンロードとインストール環境変数の設定インストール環境変数の設定確認基本的な描画の紹介グラフディグ...

HTTP ステータス コード

このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...

Reactは無限ループスクロール情報を実装する

この記事では、無限ループスクロールを実現するためのReactの具体的なコードを参考までに紹介します。...

自己終了XHTMLタグを書くときに注意すべきこと

XHTMLの img タグは、次のように記述する必要があります: <img alt="...

Windows10にmysql5.7.18をインストールするチュートリアル

このチュートリアルでは、MySQL 5.7.18のインストールと設定方法を参考までに紹介します。具体...