2012-02-03 3 views
13

Я установил Openssl, Openssl-dev в Linux. Когда я настраиваю Thrift, я получаю эту ошибку:Конфигурация Thrift libcrypto требуется

проверка на BN_init в -lcrypto ... no
configure: ошибка: «Ошибка: требуется libcrypto».

Обратите внимание!

+0

У меня возникла проблема с последней версией бережливости (0.8.0). Я успешно установил Thrift0.7.0. Спасибо за ваши ответы! – Aloha

ответ

19

На Ubuntu установка пакета libssl-dev должна его исправить. Если вы используете другой дистрибутив, имя пакета должно быть аналогичным.

+1

Я попытался установить libssl-dev, и я все еще получаю эту ошибку. –

+0

Да, это тоже не исправило меня. – someuser

11

На Amazon Linux (и, возможно, CentOS/Fedora/RHEL), вам нужно будет установить OpenSSL-Devel

+0

Спасибо! Установка openssl-devel с cygwin на Windows 8 также избавилась от ошибки (бережливость 0.9.1) – oliverdm

1

следующие работы по версии 0.8.0 бережливости.

Чтобы решить эту проблему на Windows, 7х64, MSYS + mingw64, я установил последнюю openssl из исходного кода путем настройки как для статической и разделяемой:

./configure mingw64 shared 
make 
make test 
make install 

Установка только статическую версию библиотеки решена libcrypto не . Установка общей версии, а также ее установка для libssl.

Были ошибки при компиляции openssl v1.0.1c при попытке скомпилировать тесты. Около 3 из тестовых файлов c просто имели имя файла, в котором компилятор не знал, что делать. Копирование кода из файла dummytest.c из того же каталога в эти проблемные файлы решает проблемы.

Обратите внимание, что по умолчанию openssl будет установлен в/usr/local/ssl, поэтому вам нужно будет указать LDFLAGS и CPPFLAGS, чтобы указать правильные каталоги при настройке экономии. Из каталога сборки, используя mingw64 это было:

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

Спасибо за это; это заставляет меня пройти мимо проблемы ОП, но я все равно получаю сообщение «Ошибка: libssl required» сразу после. Я построил openssl-1.0.1c с нуля, используя './ Настроить mingw64 shared ', но это, похоже, не исправить. Я пробовал много комбинаций -I и -L и т. Д., Но ничего не работает. Есть ли другие шаги, которые я, возможно, пропустил? –

1

Я использую OpenSUSE проблема была решена после того, как я установил OpenSSL-Devel

1

я встречаю такое же условие; Тогда искать деталь config.log пытается это исправить

попробовать это:

LDFLAGS = '- L/USR/местные/SSL/Библиотека' LIBS = '- ЛНП' ./configure --prefix =/usr/local/thrift --with-php --with-boost =/usr/local/boost

+0

О, боже ... потратив более 2-3 дней, ваш ответ исправил мою проблему. Огромное спасибо!!! – vikram

1

On Centos 6.x установка openssl-devel должна помочь.

-1

Вам необходимо установить библиотеку libcrypto. В openSUSE 13.1 соответствующий пакет называется libopenssl-devel.

2

На debian 8, sudo apt-get install libssl1.0-dev решает проблему.