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

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

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

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

Q&A

4回答

11665閲覧

OpenSSLをWindows10でビルドする過程でつまづいています。。。

GiveAHand

総合スコア286

OpenSSL

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

0グッド

0クリップ

投稿2017/01/16 21:15

編集2022/01/12 10:55

OpenSSLをWindowsでビルドしたいのですが、その過程でつまずいて困っています。

ビルドしようとしているOpenLLは、__openssl-fips-2.0.14__で、公式サイトからダウンロードしました。

OpenSSL
https://www.openssl.org/source/

ここからダウンロードしたopenssl-fips-2.0.14.tar.gzを、解凍し、フォルダごと、c:\opensslフォルダに入れています。

C:\openssl\openssl-fips-2.0.14

このようなパスにしています。

openssl-fips-2.0.14フォルダの中の、msフォルダ内にあるREADMEファイルを読みますと、

perl util\mk1mf.pl VC-NT >ms/nt.mak
perl util\mk1mf.pl VC-NT dll >ms/ntdll.mak

perl util\mkdef.pl 32 crypto > ms/crypto32.def
perl util\mkdef.pl 32 ssl > ms/ssl32.def

このように記述があるので、コマンドプロンプトで

perl util\mk1mf.pl VC-NT >ms/nt.mak

を実行したところ、

unable to open Makefile!

というエラーになってしまいます。

イメージ説明

コマンドプロンプトは、管理者権限で実行しても同じ結果でした。

このエラー、一体何なんでしょう?

また、OpenSSLなどのように、使う環境に合わせてビルドして使うタイプアプリケーションをビルドする為に必要な知識として、前提条件のようなもの(これぐらい知っとかなくちゃだめ!)のようなものって何かないでしょうか?

というのは、このようにいつもエラーに対処できなくて終わってしまいます。。。

やはりperlでしょうか?

であれば、独学で学ぶためのお勧めのサイトや書籍などあれば、合わせて教えて頂けますとありがたいです。

2017/1/18 追記

openssl-1.1.0cをダウンロードし直した上で、付属のREADMI、INSTALL、を読みましたところ、

on Windows (only pick one of the targets for configuration):

$ perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE } $ nmake $ nmake test $ nmake install

このようにありましたので、実行したのですが、

perl Configure VC-WIN64A

または、

perl Configure VC-WIN64I

を実行すると、

イメージ説明

というエラーになってしまいます。。。
(そもそもVC-WIN64AとVC-WIN64Iの違いって何なんでしょう・・・)

白い部分を訳しますと、

あなたがPATHにmake.exeまたはdmake.exeを持っていないようです。
そのため、Makefileからコマンドを実行することはできません。 runnningによってPerlパッケージマネージャーでdamke.exeをインストールできます。

これは何なんでしょう?
Active Perlはインストールして、パスも通してあるのですが。。。

実行環境は、Windows10 64bitです。

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

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

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

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

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

guest

回答4

0

以前の質問

1

openssl-fipsについて。先のご質問への回答でも書きましたが、付属している文書を読み、他の文書も読めと書いてあったらそれも読んでみて下さい。今回の場合、README.FIPSを見ると「ユーザガイド」に行きつきますが、読んでみると、これはOpenSSLの本体ではないようです。

openssl-1.1.0cかopenssl-1.0.2jを選んだほうがよいのではないでしょうか。

2

VC-WIN64AVC-WIN64Iの違いですが、前者はパソコンなどの一般的な64ビットCPU (x86-64、Intel64)、後者はItaniumなどの64ビットCPU (IA-64) のようです。Windows 10をお使いとのことですから、64ビットにするのならVC-WIN64Aを選べばいいと思います。

投稿2017/01/17 04:33

編集2017/01/20 04:17
ikedas

総合スコア4227

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

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

GiveAHand

2017/01/17 21:45

ikedas様 ご回答ありがとうございます。 ご指摘あったのに、追記せず別スレッドにしてしまって申し訳ございません。 また、openssl-fipsは、そうなんですね。。。 openssl-1.1.0cをダウンロードし、README、INSTALLを読んで、その中にあるWindows用のコマンドを打ったのですが、またエラーです。。。 質問に追記したのですが、これはどういう意味なのでしょう。。。 すいません。。。
ikedas

2017/01/17 22:55

その前にええと、こっちの質問と前の質問と二つできてしまっているわけですが、どちらで続けてどちらをクローズしますか。 目の前の問題を解決したいと焦る気持ちはわかりますが、落ち着いてやりませんか。
GiveAHand

2017/01/18 22:59

Ikesas様 お世話になっております。 ご指摘の件、申し訳ございません。 前の質問をクローズ致しました。 この質問で続きをいきたいと思います。 何卒、よろしくお願い致します。
guest

0

これは何なんでしょう?

Active Perlはインストールして、パスも通してあるのですが。。。

文字通りnmake.exeかdmake.exeのパスが通っていないというエラーですので実際に状況を確認してみればいいと思います。自分はperlは入れてませんがvs2015をインストールしてます。しかし以下のようになります。

C:\Users\ksoh>where nmake.exe
情報: 与えられたパターンのファイルが見つかりませんでした。

なぜなら自分は"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin"にパスを通してないからです。よって自分なら上記のパスを環境変数PATHへ追加してまずはwhere nmake.exeで場所が表示されることを確認した上でリトライすると思います。つまりはVS2015をインストールしてあればどんな状況でも(例えばコマンドプロンプトから)使えることにはならないわけですね。

質問者さんはactive perlがインストールされているならdmakeは入っているはずと思われたのでしょうから実際使えるか確認すべきと思います。

投稿2017/01/17 23:23

KSwordOfHaste

総合スコア18392

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

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

GiveAHand

2017/01/18 23:09

KSwordOfHaste様 ご回答ありがとうございます。 ご指摘の通り、nmake.exeも、dmake.exeへのパスは通っていませんでした。 ただ、nmake.exeへのパスは通したのですが、それでもやっぱり同じエラーでした。 今度はdmake.exeのパスを通してみます。
guest

0

make が、ないと言われていますね。

Visual studio をインストールしていると書かれていますが、メッセージに書かれているファイル(make.exeかdmake.exe)は、ありますか?

オープンソース系のプロジェクトをWindowsでコンパイルするには、Windows アプリの開発ではあまり使わないコマンドをインストールする必要があったりします。

もしファイルがない場合、https://www.gnu.org/software/make/ あたりのインストールが必要かもしれません。

投稿2017/01/17 22:33

CHERRY

総合スコア25171

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

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

GiveAHand

2017/01/18 23:15

CHERRY様 nmake.exeも、dmake.exeも無かったのですが、とりあえずnmake.exeのパスを通したのですが、エラーは同じでした。 アドバイスいただいた通り、dmake.exeのパスを通してみます。
guest

0

makefileを処理するためのコマンドがないのではないでしょうか。
http://relog.xii.jp/mt5r/2013/11/opensslwindows32bit64bit.html
VC++などの処理系は入っていますか?
あるいは、パスが通っているかをご確認ください。

投稿2017/01/16 23:52

t_obara

総合スコア5488

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

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

GiveAHand

2017/01/17 21:48

tomohiro_obara様 ご回答ありがとうございます。 makefileを処理するコマンドですが、Visual Studioは2015が入ってます。 Active Perlも5が入っています。 また、ikedas様よりご指摘いただいた通り、私がビルドしようとしているのは本体ではなかったようです。。。 また、質問に追記したのですが、新たなエラーが出てしまってますが。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問