質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • Python 3.x

    7433questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Apache

    1918questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • OpenSSL

    114questions

    OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

nghttp2をconfigure時のエラーについて

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 924

pacokio

score 12

nghttp2のconfigure時に以下のエラーが発生しています。
python初心者の為、以下のエラー対策を行ったほうが良いのかが判断つかないため相談させて頂きます。
お手数ですが、アドバイス頂けたら幸いです。

◆エラー内容
checking consistency of all components of python development environment... no
configure: WARNING:
Could not link test program to Python. Maybe the main Python library has been
installed in some non-standard library path. If so, pass it to configure,
via the LDFLAGS environment variable.
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
========================  
ERROR!
You probably have to install the development version of the Python package
for your distribution.  The exact name of this package varies among them.
======================== 

◆背景
OS:CentOS7.3.1611
OpenSSL、python3.6、nghttp2、apache2.4.25を全て
ソースインストールを 行おうとしております。
OpenSSL、python3.6のソースインストールは完了し、
apacheインストールの前に、nghttp2のソースインストールを
行う際に、configureを行った際に上記エラーが発生しました。

◆実行コマンド(以下を実行し、上記のエラーが発生しました。)
env OPENSSL_CFLAGS="-I/usr/local/openssl-1.0.2/include" OPENSSL_LIBS="-L/usr/local/openssl-1.0.2/lib -lssl -lcrypto" PYTHON3="-L/usr/local/python3.6.0" LDFLAGS="-L/usr/local/python3.6.0/lib" ./configure

※openssl(1.0.2j)とpython3.6のインストールパスを指定しています。

◆考察、疑問
pythonの開発版(python-devel)のインストールを促されていると認識しています。
ソースインストールであれば、開発版の内容も含んでいるはずなのでpythonのインストールパスを指定すればよいかと考えていましたが、上記のエラーが出て手が止まってしまっています。

①python3.6のソースファイルには開発版モジュールが含まれていない?
②configure時のパス指定が正しくない?
③そもそもこのエラー(内容を見ると警告?)は無視してもよいものなのか?無視した場合のリスクが不明。
④yum install python-develをconfigure前に実行すれば、configure時にはエラーは出なくなりますが、python-develのバージョンが2.7.*と、ソースファイルとバージョンが異なるので、おそらくのこ対応は正しくないと思っています。

お手数ですが、改善策や、アドバイス等頂ければと思います。
宜しくお願いいたします。

#追記
configure後のサマリーを貼り付けたいと思います。
エラー発生時に一緒に表示される内容です。
Pythonのバージョンが3.6でないOSプリインストールのものとなっている箇所があるため、やはりPythonのパス指定が足りないのかと考えています。

Package version: 1.18.1
Library version: 26:3:12
Install prefix:  /usr/local
System types:
Build:         x86_64-pc-linux-gnu
Host:          x86_64-pc-linux-gnu
Target:        x86_64-pc-linux-gnu
Compiler:
C compiler:     gcc
CFLAGS:         -g -O2
LDFLAGS:        -L/usr/local/python3.6.0/lib
C++ compiler:   g++
CXXFLAGS:       -g -O2
CXXCPP:         g++ -E
C preprocessor: gcc -E
CPPFLAGS:
WARNCFLAGS:
WARNCXXFLAGS:
CXX1XCXXFLAGS:   -std=c++11
EXTRACFLAG:     -fvisibility=hidden
LIBS:
Library:
Shared:         yes
Static:         yes
Python:
Python:         /bin/python
PYTHON_VERSION:
pyexecdir:      ${exec_prefix}/lib64/python2.7/site-packages
Python-dev:     no
PYTHON_CPPFLAGS:-I/usr/include/python2.7
PYTHON_LDFLAGS: -L/usr/lib64 -lpython2.7
Cython:
Test:
CUnit:          no (CFLAGS='' LIBS='')
Failmalloc:     yes
Libs:
OpenSSL:        yes (CFLAGS='-I/usr/local/openssl-1.0.2/include' LIBS='-L/usr/local/openssl-1.0.2/lib -lssl -lcrypto')
Libxml2:        no (CFLAGS='' LIBS='')
Libev:          no (CFLAGS='' LIBS='')
Libc-ares       no (CFLAGS='' LIBS='')
Libevent(SSL):  no (CFLAGS='' LIBS='')
Spdylay:        no (CFLAGS='' LIBS='')
Jansson:        no (CFLAGS='' LIBS='')
Jemalloc:       no (LIBS='')
Zlib:           yes (CFLAGS=' ' LIBS='-lz  ')
Boost CPPFLAGS:
Boost LDFLAGS:
Boost::ASIO:
Boost::System:
Boost::Thread:
Third-party:
http-parser:    no
MRuby:          no (CFLAGS='' LIBS='')
Neverbleed:     no
Features:
Applications:   no
HPACK tools:    no
Libnghttp2_asio:no
Examples:       no
Python bindings:no
Threading:      yes

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

インストールする前にまず、公式ドキュメントに一通り目を通しましょう。

nghttp2のドキュメントのRequirements節には、インストールに必要なものが書いてあります。必要なものを全てインストールしたか、ご確認下さい。

また、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_CFLAGSOPENSSL_LDFLAGSも指定したほうがよさそうです。


①python3.6のソースファイルには開発版モジュールが含まれていない? 

開発版パッケージは、ビルドずみのソフトウェアを各ディストリビューションの都合で、「開発するときだけ必要なファイル」と「その他のファイル」とを分け、前者をパッケージにしたものです。

ソースからビルド、インストールしたものにはそのような区別はなく、すべてのファイルがインストールされます。

②configure時のパス指定が正しくない? 

上述のとおり、オプションが正しくないですね。

③そもそもこのエラー(内容を見ると警告?)は無視してもよいものなのか?無視した場合のリスクが不明。 

ご質問のWARNINGとERRORは、configureの中で実行された別々のチェックの結果を示しています。前者では必要なライブラリがないかもしれないので警告にとどめましたが、後者では必要なライブラリがないので処理を継続できないと判断しました。


configureのオプションを直して再度試してみて、うまくいかなければご質問に追記下さい。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Python 3.x

    7433questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • Apache

    1918questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

  • OpenSSL

    114questions

    OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。