2011-07-01 3 views
2

現在、いくつかのサーバの共有スペースにRソフトウェアをインストールしています。インストール後、別のサーバーにログインすると、別のマシンにいくつかのライブラリファイルがないためにRが実行されないことがわかりました。 ここに私がやろうとしていることがあります:Rのインストールはマシンに依存するので、libtermcap.so.2、libg2c.so.1などの不足しているライブラリファイルをすべて1つのディレクトリに置きたいと思います./configureを実行すると、このディレクトリも検索されるようになります。このディレクトリは共有されているので、インストールはマシンに依存しない可能性がありますので、各サーバーに不足しているファイルを追加する必要はありません。特定のディレクトリにあるライブラリファイルを./configureで見つけようとしています

./configureを実行するとこれを達成するオプションがありますか?ありがとう。

答えて

5

あなたは/shared/lib/にライブラリファイルをコピーしたと仮定すると、あなたがしなければならないとき/shared/include/にヘッダファイルが、あなたは、あなたが実行時にトラブルに実行するためにバインドされていること、しかし、

./configure LDFLAGS=-L/shared/lib CPPFLAGS=-I/shared/include ...other options... 

注意を実行することができます適切なディレクトリから共有ライブラリを使用するようにインストールを促します。特に、誰かがそれぞれのホストでデフォルトのバージョンをアップグレードすることを決めた場合に便利です。その全体のビジネスは、プラットフォームとインストールに依存します。あなたのホストが少なくともほとんど同じでないならば、それぞれのシステムに適した方法であなたのソフトウェア(R)をローカルにインストールしなければならないと思います。

+0

Thx Peter、非常に役に立ちます。 –

0

Peterの答えは正しいです(+1)。地元にインストールするよう提案してください。ローカルパッケージ管理システムを使用し、各ボックスで自動更新することは、(長期的には)共有ドライブ上の互換性のあるバイナリ/ライブラリを取得しようとするよりはるかに簡単な解決策です。 Peterのソリューションの使用を簡略化するために、適切な引数を/shared/share/config.siteに置くことができます。例:あなたが--prefix = /共有してconfigureを実行するたびに

 
$ cat > /shared/share/config.site << EOF 
: ${LDFLAGS=-L/shared/lib} 
: ${CPPFLAGS=-I/share/include} 
EOF 

は、config.siteファイルが読み取られ、デフォルト値が設定されます。

+0

ur提案のためのThx、ウィリアム。笑 –

関連する問題