新しいバージョンの GCC をインストールしてデフォルトにするにはどうすればよいでしょうか?

新しいバージョンの GCC をインストールしてデフォルトにするにはどうすればよいでしょうか?

gccLinux (Ubuntu) マシンにの新しいバージョンをビルドしてインストールし、 にインストールしました/opt/gcc-10.2.0

そこで、update-alternativesこれをデフォルトのgcc/にしていましたg++

動作しますが、新しい で構築されたプログラムは、にあるものではなく、 にある古いgccにリンクし続けます。libstdc++/usr/lib/x86_64-linux-gnu/opt/gcc-10.2.0/lib64

システムがlibstdc++C++11 より前の ABI を使用している場合、起動時にアプリケーションがクラッシュするため、これは問題になります。

libstc++GCC の新しいバージョンをインストールして、それをユーザーの「デフォルト コンパイラ」にし、それを使用してビルドされたプログラムがそのコンパイラにバンドルされている(および)にリンクするようにする方法はlibgccありますか?

最新の GCC バージョンを使用するビルド サーバーを作成したいので、この質問をします。

答え1

  • これは、コンパイルされたプログラムの移植性が向上するため、実際には良いことです。
  • -L/opt/gcc-10.2.0/lib64コンパイルフラグを追加してみるのもよいでしょう。
  • 可能ですsudo mkdir /usr/lib64/save; sudo mv -iv /usr/lib64/libstdc++* /usr/lib64/saveが、これはお勧めできません。

関連情報