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

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

ただいまの
回答率

90.34%

  • OpenSSL

    114questions

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

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

受付中

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,605

GiveAHand

score 268

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です。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 4

+1

以前の質問

 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/18 06:45

    ikedas様

    ご回答ありがとうございます。

    ご指摘あったのに、追記せず別スレッドにしてしまって申し訳ございません。

    また、openssl-fipsは、そうなんですね。。。

    openssl-1.1.0cをダウンロードし、README、INSTALLを読んで、その中にあるWindows用のコマンドを打ったのですが、またエラーです。。。

    質問に追記したのですが、これはどういう意味なのでしょう。。。

    すいません。。。

    キャンセル

  • 2017/01/18 07:55

    その前にええと、こっちの質問と前の質問と二つできてしまっているわけですが、どちらで続けてどちらをクローズしますか。

    目の前の問題を解決したいと焦る気持ちはわかりますが、落ち着いてやりませんか。

    キャンセル

  • 2017/01/19 07:59

    Ikesas様

    お世話になっております。
    ご指摘の件、申し訳ございません。

    前の質問をクローズ致しました。
    この質問で続きをいきたいと思います。

    何卒、よろしくお願い致します。

    キャンセル

0

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/18 06:48

    tomohiro_obara様

    ご回答ありがとうございます。

    makefileを処理するコマンドですが、Visual Studioは2015が入ってます。
    Active Perlも5が入っています。

    また、ikedas様よりご指摘いただいた通り、私がビルドしようとしているのは本体ではなかったようです。。。

    また、質問に追記したのですが、新たなエラーが出てしまってますが。。。

    キャンセル

0

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

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/01/19 08:15

    CHERRY様

    nmake.exeも、dmake.exeも無かったのですが、とりあえずnmake.exeのパスを通したのですが、エラーは同じでした。

    アドバイスいただいた通り、dmake.exeのパスを通してみます。

    キャンセル

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/19 08:09

    KSwordOfHaste様

    ご回答ありがとうございます。
    ご指摘の通り、nmake.exeも、dmake.exeへのパスは通っていませんでした。

    ただ、nmake.exeへのパスは通したのですが、それでもやっぱり同じエラーでした。

    今度はdmake.exeのパスを通してみます。

    キャンセル

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

  • OpenSSL

    114questions

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