web-dev-qa-db-ja.com

Linuxにroot権限なしでgccをインストールします

公共図書館のコンピューターにアクセスできます。C++や他のコードを試してみたいと思います。問題は、g ++がインストールされておらず、ルートアクセス権がないため、パッケージを使用してインストールできないことです。ホームフォルダーでプログラミングするための完全な環境を作成する「スマートな」方法はありますか?

Gccをインストールしました(Cコードをコンパイルできます)。また、一貫したホームフォルダーがあります。プリコンパイルされたg ++の場所がわかりません。ソースだけが見つかりましたが、どうすればいいのかわかりません。私は彼らにこれをインストールするように頼もうとしましたが、それはうまくいきませんでした:)

26
Matthew Murdock

--prefixパラメータを使用して構成スクリプトを実行できます:../gcc-4.5.0/configure --prefix=/home/foo/bar。 C++標準ライブラリはシステム上のライブラリとは異なる可能性が高いため、このコンパイラでコンパイルしたプログラムを開始する前に、export LD_LIBRARY_PATH=/home/foo/bar/libを設定する必要があります。

11
Rudi

ローカルユーザーとしてインストールしたい場合

GNU GSRCはそうするための簡単な方法を提供します

リンク: http://www.gnu.org/software/gsrc/

構成後、次のコマンドを指定するだけです。

cd gsrc
make -C pkg/gnu/gcc 
make -C pkg/gnu/gcc install

2番目のステップは、Nコアシステムの速度を上げるように変更することもできます。

make -C pkg/gnu/gcc MAKE_ARGS_PARALLEL="-jN"
8
DanielY

昔(1992年くらい)に、SCO開発環境のないシステムを購入したとき、これに似たものを試してみました。完全な開発環境になるまでそれをブートストラップすることは、システムにライブラリヘッダーファイルまたはgccがあると、作業がずっと簡単になります。

それは、ライブラリがどのような種類のものがインストールされるかについてどれほど不愉快であるかに大きく依存します。そこにgccがない場合、あなたの仕事は少し難しくなります。そこにglibcのヘッダーファイルがない場合、あなたの仕事は非常に困難です。

また、システムにアカウントを取得して、ログインごとに一貫したホームフォルダーを作成していますか?

そこにgccがない場合は、gcc/g ++のプリコンパイルされたバイナリを見つけて、どこかにインストールする必要があります。そこにヘッダーファイルがない場合は、それらのコピーを見つけてシステムに配置する必要があります。

ただし、ホームフォルダーにgccをインストールする「標準」の方法はありません。すべてのソリューションには、何らかの手巻きが含まれます。

少しプログラミングを学びたいので、コンピューターにしかアクセスできないので、インストールされているものを変更できるかどうか司書に尋ねましたか?それが最も簡単な解決策かもしれません。

あなたのコメントから、あなたはgccを持っているようです、そしてあなたがCコードをコンパイルすることができるなら、あなたはライブラリヘッダーファイルを持っています。したがって、実際には、独自のバージョンのg++を実際にコンパイルする必要があります。おそらく、システムのパッケージマネージャーに、システムフォルダー以外の場所にバイナリパッケージをインストールさせる方法を見つけることができるでしょう。このソリューションは自分でコンパイルするよりも面白くないと思います。また、インストールされたパッケージが特定の場所で何かを見つけてそこに見つけないことを期待している可能性があるため、微妙な問題が発生する可能性もあります。

まず最初に、gccパッケージの適切なソースをダウンロードしたことを確認します。それを見つける場所は GNU United Statesミラーページ です。選択したミラーサイトでgcc-4.5.0.tar.bz2またはgcc-4.5.0.tar.gzファイルを見つけたいと考えています。おそらくgccディレクトリとgcc-4.5.0サブフォルダーにあります。

ダウンロードしたら、解凍する必要があります。一般に、解凍したフォルダーにgccをビルドしないでください。そのため、実際にビルドする別の兄弟フォルダーをgcc-buildというラベルで作成します。次に、必要なコマンドは../gcc-4.5.0/configure --prefix=$HOME/.local --enable-languages='c c++'です。

gccは、それ自体をコンパイルできるようにするために、いくつかの他のパッケージをインストールする必要があります。これらのパッケージに同じ--prefix行を使用して、同じ場所にインストールできます。 gcc Webサイトには 必須パッケージのリスト があります。

$HOME/.localは、ユーザーごとにインストールするための標準的に受け入れられている場所です。

2
Omnifarious

Fakerootがある場合は、それを使用して〜/ some-pathをrootとして設定し、パッケージをインストールできます。あるいは、chroot環境をセットアップして同じことを行うこともできます。

これにより、dpkg -i package.debを使用してgccパッケージをシステムにインストールできます。各パッケージを個別にダウンロードしてインストールする必要があります(たとえば、debian Webサイトから)-少なくともbinutilsglibclinux-headersおよびgcc

別のシステムを使用している場合は、そのシステムに適したパッケージを取得し、対応するパッケージマネージャーを使用してインストールする必要があります。

0
reece