1人のユーザー用にカスタムGMPライブラリをインストールするにはどうすればよいですか?

1人のユーザー用にカスタムGMPライブラリをインストールするにはどうすればよいですか?

私はシステムで膨大な数値処理を実行しており、数値処理の計算を開始するユーザーのためにカスタムGMP 6.1.0をコンパイル(および微調整)したいと思います。以前は、ファイルシステムの左右を root に変更しながらカスタム GMP リポジトリをインストールする Debian wheezy(7.6) システムを使用していました(より良いことがわからなかったため)。ついに働いた。私のカスタムGMPライブラリは、デフォルトのGMPより約15%速く数値を処理しました。

今、私は「デフォルト」のGMP(Debian Jessieに付属しているもの)を使用して、そのコンピュータに新しいDebian(Jessie 8.3)をインストールしました。

# gcc --version
gcc (Debian 4.9.2-10) 4.9.2

# apt-get install libgmp10
# apt-get install libgmp-dev

これは明らかにGMP 6.0.0です。

私の番号処理プログラムをコンパイルしています。

$ gcc crunch.c -o crunch.o -L/gmp_install/lib -lgmp

(GCCに渡されたいくつかのパラメータを操作すると、わずかな利得が得られることがわかりますが、ここで最大の問題はカスタマイズされていないGMPの「遅い」です。)

それから私は電話します./凝縮.oそれはうまくいきますが、古いシステムのカスタムビルドGMPより15%遅いです(同じシステムで上に貼り付けたのと同じgccコンパイルコマンドを使用します)。

これでカスタムGMP 6.1.0を再コンパイルしたいが、過度の計算を実行しているユーザーにのみアクセスできます。

つまり、ファイルシステム全体を壊すことなく(ルートイン中に)カスタムGMPをきれいにインストールしたいと思います。

しかし、私は理解できません。-L/gmp_install/lib何の意味もない-lgmpまたあります。

私がしなければならない最初のステップは次のとおりです。

それでは、(rootではなく)ユーザーアカウントのカスタムGMPをどのようにコンパイルし、crunch.cプログラムをどのようにコンパイルしますか?

ベストアンサー1

一般ユーザーとして次の手順を使用できます

tar xvjf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
./configure --prefix=${HOME}/gmp/6.1.0
make 
make install

これでgmpがインストールされます~/gmp/6.1.0。このバージョンを使用してソフトウェアをコンパイルしたり、実行時に使用したい場合は、いくつかの環境変数を設定する必要があります。

GMP_DIR="${HOME}/gmp/6.1.0"
export LD_LIBRARY_PATH=${GMP_DIR}/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=${GMP_DIR}/lib64:$LIBRARY_PATH
export CPATH=${GMP_DIR}/include:$CPATH

使用する前にファイルまたは別のファイルに入れたり、~/.bashrcバイナリコンテンツを含むラッパースクリプトを作成したりできます。他の人はそのような仕事sourceにそれを好みます。environment-modules

この-lgmpパラメータはリンカに共有ライブラリにリンクするように指示し、よくlibgmp.so知られているパス-L/gmp_install/lib( 。/gmp_install/lib/lib, lib64, /usr/lib, /usr/lib64, ...)

環境変数は次のように使用されます。

  • LIBRARY_PATH-Lスイッチと同じ機能を提供する必要があります
  • CPATHヘッダファイルへの追加検索パスの提供
  • LD_LIBRARY_PATH実行時に必須

おすすめ記事