2012-03-31 7 views
1

ブースト1.49をインストールしようとしているうちに、bjamスクリプトを使用する段階になると、参考までに、インストール手順linked hereに従っていますが、boost.orgのインストールページも参照しています。手順は本質的に同一であり、どちらも同じ問題を抱えています。<dir>が不足しています... Ubuntu 11.04にブースト1.49をインストールしようとしたときにエラーが発生しました

私は、インストールソフトウェアのすべてを維持するディレクトリにtarファイルをダウンロードした:私は、次のコマンドを使用し、私はブーストのものがディレクトリ/usr/include/boost_1_49/にインストールしたい/home/ely/Software/Boost/boost_1_49_0/

$ ./bootstrap.sh --prefix=/usr/include/boost_1_49 --libdir=/usr/include/boost_1_49/lib 
$ ./bjam variant=release link=shared install 

最初のコマンドは少し時間がかかりますが、成功したようでエラーは発生しません。 2番目のコマンドは、このようなものを出力し、一貫はるかに長く、その後をとります

...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/stdexcept for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/iomanip for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/new for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/fstream for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/set for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/locale for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/string for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/limits for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/complex for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/queue for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/stack for lack of /usr/include/boost_1_49/include/boost... 
...skipped <p/usr/include/boost_1_49/include/boost>tr1/tr1/unordered_set for lack of /usr/include/boost_1_49/include/boost... 

そして、これらすべてのスキップの底に、それは常に言う:

...failed updating 28 targets... 
...skipped 9778 targets... 

私は生成されたプロジェクトファイルを繰り返しチェックして、 project-config.jamであり、変数prefixexec-prefixlibdir、およびincludedirの正しいパス名がリストされているので、.jamファイルが問題ではないと思います。

また、/usr/includeにフォルダを作成する権限の問題であるとも考えられました。そこで私は/usr/include/boost_1_49を777に変更し、コマンドを再試行して同じ結果を得ました。

誰もこの問題を解決する方法を知っていますか、最終的にファイルが/usr/include/boost_1_49/に見つかるようにBoostをインストールする方法はありますか?

を追加しました

私はちょうど直接私が欲しいのディレクトリにtarファイルを置く場合は、/usr/include.boost_1_49は、その後、インストールプロセスは、スキップのすべてがなく正常に終了し、それは以下の私に語った:

The Boost C++ Libraries were successfully built! 

The following directory should be added to compiler include paths: 

    /usr/include/boost_1_49 

The following directory should be added to linker library paths: 

    /usr/include/boost_1_49/stage/lib 

しかし、これらのファイルを私が使用している.confのファイルに追加してから、パスを更新するためにsudo ldconfigを発行しても、Boostのものを含めるときにエラーが発生します。私は、ファイルboost/math/distributions.hppを含めるようにしようとした場合、その後、私はエラーを取得する:私は手動でgeometric.hppファイルが正しい場所に位置していることを確認

/usr/include/boost_1_49/boost/math/distributions.hpp:25: fatal error: boost/math/distributions/geometric.hpp: No such file or directory 

、それはそれを見ることはできません。私は、のすべての#include <boost...>行が/usr/include/boost_1_49のバージョンを正しく識別していないと推測していますが、なぜそうではないのか、それをどのように変更するのかわかりません。

答えて

1

私は、bjamコマンドを実行するために使用していたユーザ名が/usr/includeディレクトリに書き込む権限を持っていなかったことを認識するまで、私は同じ問題を抱えていました。

としてあなたはbjamのコマンドを実行する必要があります:あなたは間違ってそれをやっている

sudo ./bjam --your-options-- 
+0

あなたは '/ usr'下の書き込みを強制するために、' sudo'を使用している場合。 –

+0

@DirkEddelbuettel正しい解決策があればそれをフォローする必要があります。 – Anthony

関連する問題