opensslconf.hが見つかりません


14

私はznort987のパーサーをビルドしようとしていますが、sudo apt-get libssl-devを実行しました。/ usr / include / opensslにすべての種類のssl関連ヘッダーファイルがありますが、opensslconf.hがopensslフォルダーにないため、makeコマンドでエラーが発生します。

 make: *** No rule to make target `/usr/include/openssl/opensslconf.h', needed by `.objs/rmd160.o'.  Stop.

32ビットAMDラップトップでUbuntu 14.04を使用しています。

更新:インストールをクリーンアウトするために次を実行しました。

sudo apt-get remove libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl

sudo apt-get install libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl
git clone git://github.com/znort987/blockparser.git
cd blockparser
make

今私は得る:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory

回答:


4

このようなことはかなり前に発生したようです(具体的には、2013-05-20 16:56:06 UTC)。OPに非常によく似た奇妙な問題に遭遇しましたが、コンパイル時に適切なインクルードのセットをアタッチできないSwigの問題であることが判明しました。最終的にソースを調べて、それがubuntuパッケージの問題ではないことを確認しましたが、ubuntuの問題ではないようです。

これをより注意深く見ると、opensslパッケージはopensslconf.hをmultiarch対応のディレクトリ構造にシフトしました。詳細なコミットは次のとおりです:http : //bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42そして、あなたがそのリビジョンを思いついた方法を知りたいなら、私はdebianルールの注釈付き改訂に従いました。これは、何が起こったのかを知るための驚くほど効率的な方法でした:http : //bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/ debian / rules

そして、コミッターのKurt Roeckxは、変更ログに次のように書いています。

  • / usr / include / $(DEB_HOST_MULTIARCH)に移動し、libssl-dev Multi-Arch:同じとマークします。

公平を期すために、少なくともopensslconf.hが、論理的に関連する残りのヘッダーと共に/ usr / include / opensslフォルダーにシンボリックリンクされていればよいのにと思います。しかし、それはバグではなく、それは私の意見です。私がやったようにこの問題に出くわした人々にとって、物事をハミングし続けるには、欠落しているインクルードを少し嗅ぎ分けるだけです。

そしてOPに、それは非常に多くは後になりましたが、私はちょうど14.04 LTS x64のボックス上で実行して、ステップのあなたの正確なセットを与え、あなたが持った問題に遭遇しませんでした。おそらく、問題は時間の経過とともに単純に解決されたのでしょう。これが役立つことを願っています。


1
私は今あなたと同じ問題を抱えていると思います。どのように解決しましたか?
スーリヤウィジャヤマジッド

4

64システムでビルドしていて、32ビットをターゲットにしている場合、次のコマンドでこの問題を修正しました。

sudo apt-get install libssl-dev:i386

そして、あなたが最初にこのアーキテクチャを有効にする必要がありますsudo dpkg --add-architecture i386
サンドバーグ

3

sudo apt-get libssl-devを実行しました。/ usr / include / opensslにすべての種類のssl関連ヘッダーファイルが表示されますが、opensslconf.hがopensslフォルダーにないため、makeコマンドでエラーが発生します...

パッケージに欠陥があるようです。

<openssl/opensslconf.h>OpenSSLのConfigureコマンドによって作成されます。ディストリビューションファイルに含まれている必要があります。私が見つけた最初の言及は、バージョン0.9.2の OpenSSLのCHANGELOGでした

https://bugs.launchpad.net/ubuntu/+filebug/?no-redirectでバグレポートを提出してください


1

32ビットシステムと64ビットシステムでは問題があるようです。すべてをクリアし、自分でOpensslをダウンロードしてビルドし、パーサーのビルド手順に従いました。lnkフェーズ中に、「互換性のないlibcrypto」をスキップして失敗しました。

そのため、必要なライブラリは64ビットシステムでのみ使用可能であり、32ビットシステムでのlibssl-devのインストール中にスキップされると想定しています。より明確なエラーメッセージがいいでしょう。


64ビットマシンで32ビットプログラムをコンパイルしようとしていますが、同じopensslconf.hエラーが見つかりません。インストールされlibssl-dev(その32ビットバージョンはありますか?)、ファイルが見つからないため、プログラム以外はすべてコンパイルされません。何か案は?
ロベルトアンドレーデ


0

LTS 16 PCに埋め込まれたLTS 14デバイスを対象としたセットアップをコンパイルしているときに、この問題に遭遇しました。これは私がそれを解決した方法です:

 cd /usr/include/openssl/

 sudo ln -s /usr/include/gnutls/openssl.h .

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.