回答編集履歴

1 微修正

ikedas

ikedas score 2991

2017/01/22 12:31  投稿

インストールする前にまず、公式ドキュメントに一通り目を通しましょう。
nghttp2のドキュメントの[Requirements](https://nghttp2.org/documentation/package_README.html#requirements)節には、インストールに必要なものが書いてあります。必要なものを全てインストールしたか、ご確認下さい。
[Python bindings](https://nghttp2.org/documentation/package_README.html#python-bindings)の節には次のように書いてあります。
また、[Python bindings](https://nghttp2.org/documentation/package_README.html#python-bindings)という節があって、次のように書いてあります。
> ``make`` will build the bindings and target Python version is determined by the ``configure`` script. If the detected Python version is not what you expect, specify a path to Python executable in a PYTHON variable as an argument to configure script (e.g., ``./configure PYTHON=/usr/bin/python3.5``).
さらに今回は``configure``スクリプトも使っていますから、スクリプトのオプションに何があるのかも見ておくといいですね (あくまでもドキュメントの記述が優先ですが)。``configure --help``の結果を読むと、今回はドキュメントに書いてあるほかに``OPENSSL_CFLAGS``、``OPENSSL_LDFLAGS``も指定したほうがよさそうです。
---
> ①python3.6のソースファイルには開発版モジュールが含まれていない?
開発版パッケージは、ビルドずみのソフトウェアを各ディストリビューションの都合で、「開発するときだけ必要なファイル」と「その他のファイル」とを分け、前者をパッケージにしたものです。
ソースからビルド、インストールしたものにはそのような区別はなく、すべてのファイルがインストールされます。
> ②configure時のパス指定が正しくない?
上述のとおり、オプションが正しくないですね。
> ③そもそもこのエラー(内容を見ると警告?)は無視してもよいものなのか?無視した場合のリスクが不明。
ご質問のWARNINGとERRORは、configureの中で実行された別々のチェックの結果を示しています。前者では必要なライブラリがないかもしれないので警告にとどめましたが、後者では必要なライブラリがないので処理を継続できないと判断しました。
---
``configure``のオプションを直して再度試してみて、うまくいかなければご質問に追記下さい。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る