質問: 特定のユーザーアカウントのgccをアップグレードする 私はcentos6/rhel6を実行しているコンピューティングクラスターで作業しており、1人のit管理者が監督し、約100人の他のユーザーと共有しています。最近、c++で書き始めましたが、コードの一部はc++ 11に依存しています。 このwebページ によると、c++ 11はgccバージョン4.8.1以降でサポートされています。残念ながら、コンピューティングクラスターのバージョンは4.4.7です。少し前に、別の理由で、クラスターのホームディレクトリの下の場所にgccバージョン4.8.4をインストールしようとしました。インストールが失敗し、 このエラーメッセージ でした。いくつかのグーグルで、glibcを更新する必要があると思われたので、その新しいバージョンをホームディレクトリにインストールしようとしました。それ 劇的に失敗した 。私のit管理者は、「クラスター上のgccのバージョンを変更することはおそらく機能しないだろう」と結論付けました。さらに質問で彼女を悩ませる前に(この時点で私は必要更新バージョンsome cコンパイラであるため)、私はこれらをクラウドソーシングしています:(1)gccバージョン4.8.1+をユーザーアカウントにインストールすることは可能ですか? (前回これをやろうとした後、根本的にひどい考えだと言う人もいました。)(2)(1)の答えが「はい」の場合、インストールが成功することを確認するために、今回はどのような予防措置を講じる必要がありますか?アカウントにglibcをインストールする必要がありますか?それは実行可能ですか?(3)(1)の答えが「いいえ」の場合、it管理者は、既存のバージョンに依存するコードを中断することなく、システム全体に新しいバージョンのgccをインストールできますか?(4)上記のいずれもgccで実行できない場合、別のcコンパイラで状況は変わりますか?要約すると、私はgcc(または別のcコンパイラ)の知識を持った人を探して、(sudo権限のない)人がどうなるかを説明します可能であれば、アップグレードについて。
回答: あなたの特定の質問に関して:(1)はい、実現可能ですが、面白くないかもしれません。(2)いいえ、通常はシステムglibcを使用できます。 gccからは、libstdc++、libgccなどが必要です。私のアプローチは、 公式の指示 非常に厳密にに従い、プラットフォームに非常によく一致する場合にのみ非公式の指示に頼ることです。 。私は実際には4.8を気にせず、現在のリリースシリーズの1つ(5.2または4.9)に直接進みます。注:私は自分で非ルートgccのインストールを行っていませんが、異なるバージョンのgccをgnuモジュールとして維持するシステムで作業しています。