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

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

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

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

OpenSSL

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

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

2655閲覧

Centos8にNghttp2をインストールするところでエラー(Apache導入が目的)

gi_sa

総合スコア7

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

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

OpenSSL

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

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2021/03/04 13:08

前提・実現したいこと

こちらのサイトを参考に、
CentOS8にApache2.4.43をソースインストールすることを目標に
事前に必要となるソースファイルをインストールしていました。

発生している問題・エラーメッセージ

上から順番に順調に進んでいましたが、「Nghttp2のインストール」の途中でエラーになりました。
どのような解決策があるでしょうか。教えていただけますと幸いです。

・Nghttp2のソースファイルをダウンロードし解凍、解凍したフォルダに移動 # wget https://github.com/nghttp2/nghttp2/releases/download/v1.40.0/nghttp2-1.40.0.tar.gz # tar zxf nghttp2-1.40.0.tar.gz # cd nghttp2-1.40.0/ ・OpenSSLを指定しMakefileを作成、コンパイル、インストール # env OPENSSL_CFLAGS="-I/usr/local/openssl/include" OPENSSL_LIBS="-L/usr/local/openssl/lib -lssl -lcrypto" ./configure -enable-app # make ※こちらの後、エラー

エラーメッセージ

CXX util.o util.cc:62:10: fatal error: openssl/evp.h: No such file or directory #include <openssl/evp.h> compilation terminated. make[3]: *** [Makefile:1634: util.o] Error 1 make[3]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src' make[2]: *** [Makefile:2678: all-recursive] Error 1 make[2]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src' make[1]: *** [Makefile:567: all-recursive] Error 1 make[1]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0' make: *** [Makefile:476: all] Error 2

該当のソースコード

[root@centos8 nghttp2-1.40.0]# make make all-recursive make[1]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0' Making all in lib make[2]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/lib' Making all in includes make[3]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/lib/includes' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/lib/includes' make[3]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/lib' CC nghttp2_pq.lo CC nghttp2_map.lo CC nghttp2_queue.lo CC nghttp2_frame.lo CC nghttp2_buf.lo CC nghttp2_stream.lo CC nghttp2_outbound_item.lo CC nghttp2_session.lo CC nghttp2_submit.lo CC nghttp2_helper.lo CC nghttp2_npn.lo CC nghttp2_hd.lo CC nghttp2_hd_huffman.lo CC nghttp2_hd_huffman_data.lo CC nghttp2_version.lo CC nghttp2_priority_spec.lo CC nghttp2_option.lo CC nghttp2_callbacks.lo CC nghttp2_mem.lo CC nghttp2_http.lo CC nghttp2_rcbuf.lo CC nghttp2_debug.lo CCLD libnghttp2.la make[3]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/lib' make[2]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/lib' Making all in third-party make[2]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/third-party' CC url-parser/url_parser.lo CCLD liburl-parser.la CC llhttp/src/libllhttp_la-api.lo CC llhttp/src/libllhttp_la-http.lo CC llhttp/src/libllhttp_la-llhttp.lo CCLD libllhttp.la make[2]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/third-party' Making all in src make[2]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src' Making all in includes make[3]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src/includes' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src/includes' make[3]: Entering directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src' CXX util.o util.cc:62:10: fatal error: openssl/evp.h: No such file or directory #include <openssl/evp.h> compilation terminated. make[3]: *** [Makefile:1634: util.o] Error 1 make[3]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src' make[2]: *** [Makefile:2678: all-recursive] Error 1 make[2]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0/src' make[1]: *** [Makefile:567: all-recursive] Error 1 make[1]: Leaving directory '/root/openssl-1.1.1g/nghttp2-1.40.0' make: *** [Makefile:476: all] Error 2

試したこと

openssl/evp.h エラーで検索し、
「libssl-dev」が必要とのことで以下のコードを試してみましたがダメでした。
当事象に関する情報が少なく、困っております。

yum install libssl-dev(libssl-dev:amd64)
⇒エラー Last metadata expiration check: 0:12:54 ago on Thu 04 Mar 2021 11:48:34 AM UTC. No match for argument: libssl-dev

補足情報(FW/ツールのバージョンなど)

windows10
virtyalbox
vagrant 2.2.14
centos8

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

opensslは正しくインストールできていますか?
こちらで手順を進めたところ、evp.hファイルは下記にありました

[root@localhost ~]# find /usr -name evp.h /usr/local/src/openssl-1.1.1g/include/crypto/evp.h /usr/local/src/openssl-1.1.1g/include/openssl/evp.h /usr/local/openssl/include/openssl/evp.h [root@localhost ~]#

投稿2021/03/04 17:10

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gi_sa

2021/03/05 00:13 編集

ご回答いただき誠にありがとうございます。 同じように調べてみましたところ、上記2つのevp.hファイルはあるようです。 3つ目のevp.hファイルがないからエラーが起きているのでしょうか。 再度opensslのインストールからやり直してみます。 [root@centos8 ~]# sudo find / -name evp.h /root/openssl-1.1.1g/include/crypto/evp.h /root/openssl-1.1.1g/include/openssl/evp.h [root@centos8 ~]#
yukky1201

2021/03/05 01:04

/root/openssl-1.1.1g/include/crypto/evp.h /root/openssl-1.1.1g/include/openssl/evp.h はソースファイルを展開しただけのものです。(当方は/usr/local/srcディレクトリにソースファイルをダウンロードしたので、gi_saさんとは場所が違っています) 参考サイトでも「インストール場所を/usr/local/opensslに指定し」と記載されていますので、そのディレクトリ配下にインストールされていなければなりません。 Nghttp2をインストールする際に、opensslのディレクトリを参照するようにしていますが、該当のファイルがないことが原因です env OPENSSL_CFLAGS="-I/usr/local/openssl/include" OPENSSL_LIBS="-L/usr/local/openssl/lib -lssl -lcrypto" ./configure -enable-app
gi_sa

2021/03/05 02:34

root配下のファイルは展開しただけのものなのですね。勉強になります。 環境を作り直して同じところまで実行し、再度findで探してみたところ、 /usr/local/openssl/include/openssl/evp.h が見つかりました。 そもそも、最初の環境では/usr/local/配下にopensslのディレクトリが存在しておりませんでした。 出力結果が消えてしまったので確認できませんでしたが、おそらくopensslのMakefileを作成するコマンドを飛ばしてしまったことが原因だと考えられます。 今後このような事象の際にはfindコマンドやディレクトリが存在しているかを調べるようにいたします。 初歩的なミスで大変申し訳ございません。 ご丁寧にご教示いただき本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問