2017-12-23 33 views
1

私はこのような長い間、今直面している問題の解説と解決方法を聞きたいと思います。私はsudoコマンドが許可されていないリモートクラスタと$ HOMEブランチ上記のディレクトリ上の任意の操作で働いていますPATH変数を定義したときに--with-boostオプションを使用する理由を教えてください

は、私はブースト

$HOME/external/trentacoollime 

を設定する必要が

$HOME=/storage/5/trentalove

を許可されていませんライブラリ $HOME/boost_1_65_1にboost_1_65_1.tar.bz2ソースを使用してインストールしました http://www.boost.org/users/history/version_1_65_1.html

sudo apt-get install libboost-all-devはありません私は$ HOME /外部/ trentacoollimeディレクトリに設定するときに、しかし、$パス」

:。その後)

許可され、私は `輸出PATH = $ HOME/boost_1_65_1としては.bash_profileと輸出の私のPATH変数を定義します、

./configure 

と私は

を設定するエラーメッセージ

configure: error: cannot find Boost headers version>=1.41.0

を促されました

./configure --with-boost=../../boost_1_65_1 

エラーメッセージが表示されず、正常に設定されました。

私は、PATH変数をboostディレクトリに定義してエクスポートして以来、./configureコマンドを実行するときに--with-boost=../../boost_1_65_1オプションを持つ必要はありません。しかし、私はそれが必要でした。

誰かが私が行方不明を説明できますか?

p.s.私はsudo apt-get install libboost-all-devというマシンで同じことをしましたが、boost_1_65_1を/usr/includeディレクトリにインストールしました。 それでも./configure--with-boost=オプションを使用して$HOME/external/trentacoollimeを構成できます($ PATHはクラスタと同じ方法で定義されています)。 しかし、sudoや他のmv、cp、lnコマンドの許可が/usr/include(私の$HOMEディレクトリよりも上位のブランチにあります)へのアクセス権を持っていないため、同じ戦略をクラスタに実装できません。

+0

PATHに何かを追加すると、ビルド環境に何らかの影響があると思いましたか? – sehe

答えて

0

PATHを使用しても、autotoolsには何の影響もありません(configureプロセスで実行するバイナリを見つけるのを除いて)。

特定のプロジェクトが他の取り決めをしていない限り、--with-boostを提供する必要があります。時々彼らはpkg-configを採用するか、または専用環境変数(BOOST_DIR、またはBOOST_ROOTのような)を受け取ることがあります。

私はこれらのいずれもオートツールベースのプロジェクトでは人気がないと思います。

関連する問題