9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

BoostをインストールするときにPython関連でエラー

Last updated at Posted at 2018-12-14

エラー内容

最新のBoostライブラリをインストールしようとしたら、

fatal error: pyconfig.h: No such file or directory

というエラーメッセージが表示され、Python関連のターゲットのビルドが失敗してしまいました。
その解決法の備忘録。

対策

pyconfig.hへのパスを見つけられなかったのが原因です。pyconfig.hが存在しないか、通常の場所に置かれていません。pyconfig.hが存在しない場合は、例えばパッケージマネージャでpython-develpython3-develなどがインストールされていないことが考えられます。pyconfig.hが存在するにもかかわらず見つけられない場合、解決方法は

  1. project-config.jampyconfig.hのパスを指定する。
  2. user-config.jamを作成してb2--user-configオプションに渡す。

の2つです。

project-config.jampyconfig.hのパスを追加する

解凍したBoostライブラリのルートディレクトリにあるproject-config.jamのpython部分を以下のように修正します。私の場合はanacondaを使っていたので以下のようになりましたが、適宜自分の場合に置き換えてpythonのバージョンやパスを加えててください。

変更前
if ! [ python.configured ]
{
    using python : 3.6 : /home/sho/anaconda3 ;
}
変更後
if ! [ python.configured ]
{
    using python : 3.6 : /home/sho/anaconda3 : /home/sho/anaconda3/include/python3.6m ;
}

user-config.jamを作成してb2--user-configオプションに渡す

解凍したBoostライブラリのルートディレクトリの中のbuild/example/user-config.jamをルートディレクトリ直下にコピーして、以下の内容をファイルの最後等に追加してください。

user-config.jam
using python : 3.6 : /home/sho/anaconda3 : /home/sho/anaconda3/include/python3.6m ;

そしてルートディレクトリでb2を実行する際に

$ ./b2 --user-config=user-config.jam install

user-config.jamを指定すればうまくいくはずです。

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?