web-dev-qa-db-ja.com

Thriftlibcryptoを構成する必要があります

LinuxにOpenssl、Openssl-devをインストールしました。 Thriftを構成すると、次のエラーが発生します。

-lcryptoでBN_initをチェックしています...いいえ
configure:error: "エラー:libcryptoが必要です。"

お知らせ下さい!

16
Aloha

Ubuntuでは、libssl-devパッケージをインストールすると修正されるはずです。別のディストリビューションを使用する場合、パッケージ名は類似している必要があります。

20
Wildfire

Debian 8では、Sudo apt-get install libssl1.0-dev問題を解決します。

14
NekoPep

Amazon Linux(および場合によってはCentOS/Fedora/RHEL)では、openssl-develをインストールする必要があります

11
Andrew

ubuntu 18.04では、次のコマンドを実行します:Sudo apt install libssl1.0-dev

4
Joe

私は同じ条件を満たす。次に、それを修正しようとしているconfig.logの詳細を探します

これを試して:

LDFLAGS = '-L/usr/local/ssl/lib' LIBS = '-ldl' ./configure --prefix =/usr/local/thrift --with-php --with-boost =/usr/local/boost

1
woso

Centos 6.xでは、openssl-develをインストールすると役立つはずです。

1
Hussnain

以下は、Thriftのバージョン0.8.0で動作します。

Windows 7x64、msys + mingw64でこの問題を解決するために、静的と共有の両方を構成して、ソースコードから最新の openssl をインストールしました。

./configure mingw64 shared
make
make test
make install

ライブラリの静的バージョンのみをインストールすると、libcryptoが見つかりませんでした。共有バージョンをインストールすると、libsslでも修正されました。

テストのコンパイル中にopensslv1.0.1cをコンパイルすると、さらにエラーが発生しました。 c個のテストファイルのうち約3個には、コンパイラが何をすべきかわからないファイル名が含まれていました。同じディレクトリのdummytest.cファイルからこれらの問題のあるファイルにコードをコピーすると、問題が解決しました。

デフォルトでは、opensslは/ usr/local/sslにインストールされるため、thriftを構成するときに正しいディレクトリを指すようにLDFLAGSとCPPFLAGSを指定する必要があることに注意してください。ビルドディレクトリから、mingw64を使用すると次のようになりました。

../thrift-0.8.0/configure CPPFLAGS=-I/usr/local/ssl/include LDFLAGS=-L/usr/local/ssl/lib CXXFLAGS=-DMINGW
1

Debianストレッチの場合: https://packages.ubuntu.com/

Ubuntuの信頼できるLTS専用の64ビットパッケージをダウンロードする必要があります:zlib1g_1.2.8.dfsg-1ubuntu1_AMD64.deb

zlib1g-dev_1.2.8.dfsg-1ubuntu1_AMD64.deb

libssl1.0.0_1.0.2g-1ubuntu4.13_AMD64.deb

libssl-dev_1.0.2g-1ubuntu4.13_AMD64.deb

sudo dpkg-iの例を使用して各パッケージをインストールします

Sudo dpkg -i libssl-dev_1.0.2g-1ubuntu4.13_AMD64.deb

0
Ahmed Ouadi

Ubuntuでは、thrift 0.9 ...ライブラリは通常/ usr/lib/x86_64-linux-gnuにあります

Sudo apt-get install libssl-dev
Sudo apt-get install libssl1.0-dev
0
user3494386