2017-02-01 15 views
4

Я почти неделю потратил на то, чтобы построить Qt5.8.0 с OpenSSL на Ubuntu 16.04.1 x64.Построение Qt с OpenSSL на Ubuntu 16.04.1 не удается

Прежде всего, я загрузил источники OpenSSL v1.0.2k. Затем я настроил его с помощью команды

./Configure --prefix=$PWD/dist -shared linux-x86_64 

Тогда я бегу команды theese один на один:

make depend 
make 
make install 

Так что я получил Openssl установлен в /home/user/openssl-OpenSSL_1.0.2k/dist

Тогда я скачал Qt с официального сайта, и установил его с источниками, так что источники расположены в /home/user/Qt5.8.0/5.8/Src Затем я попытался настроить его с помощью команды

OPENSSL_LIBS='-L/home/user/openssl-OpenSSL_1_0_2k/dist/lib -lssl -lcrypto' ./configure -prefix /home/user/qt5_static -opensource -confirm-license -release -nomake examples -nomake tests -static -openssl-linked -I /home/user/openssl-OpenSSL_1_0_2k/dist/include/openssl -L /home/user/openssl-OpenSSL_1_0_2k/dist/lib 

Но получил theese ошибки:

ERROR: Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && tests.openssl' failed.

ERROR: Feature 'openssl-linked' was enabled, but the pre-condition 'features.openssl && libs.openssl' failed.

Что я делаю не так, и как решить эту проблему?

Спасибо заранее, и извините за мой плохой английский.

+0

Как вы взяли Qt? У меня работает Ubuntu 16 VM, и я могу быстро взглянуть, если вы предоставите шаги, относящиеся к Qt. Кроме того, './Configure ... linux-x86_64', вероятно, не нужен, потому что он будет правильно угадан. Вы также должны рассмотреть возможность добавления 'enable-ec_nistp_64_gcc_128', если это применимо. Также см. [Компиляция и установка] (https://wiki.openssl.org/index.php/Compilation_and_Installation) в вики OpenSSL. – jww

ответ

0

У меня была такая же проблема при попытке статически OpenSSL и нашел следующее решение:

1) Установите OpenSSL

sudo apt-get update && sudo apt-get install libssl-dev 

2) Настройка и строить кварты из источников, в том числе -openssl-linked вариант, мой пример конфигурации :

/home/someuser/Qt/5.8/Src/configure -c++std c++11 -static -release -platform linux-g++-64 -prefix /home/someuser/Qt/StaticRelease58 -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -qt-xcb -make libs -openssl-linked -nomake tools -nomake examples -nomake tests -opensource -confirm-license -skip qtwayland -skip qtwebview -skip qtwebengine -skip qtwebchannel -no-qml-debug 

Обратите внимание, что для построения интервала QT статический, вы также должны быть установлены другие пакеты описаны здесь:

http://doc.qt.io/qt-5/linux-requirements.html

http://doc.qt.io/qt-5/linux-deployment.html

P.S. Связывание динамически с openSSL из QT5.8 отлично подходит для меня с настройкой по умолчанию.

Смежные вопросы