Компиляция старой версии библиотек Poco возвращает ошибку - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь скомпилировать и старую версию библиотек Poco в версии Raspbian Stretch Desktop;в частности, версия библиотеки: 1.5.3 .

Я сделал ./configure --prefix=./instDir.

Затем я сделал make (make -s, как предложено в READMEно также make -j2), а затем make install.

On make install возвращает эту ошибку

src/CipherImpl.cpp:80:21: error: field ‘_ctx’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’
   EVP_CIPHER_CTX    _ctx;
                     ^~~~
In file included from /usr/include/openssl/evp.h:14:0,
                 from include/Poco/Crypto/CipherImpl.h:27,
                 from src/CipherImpl.cpp:17:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~
make[1]: *** [/home/pi/Desktop/middleware/C++libs/poco-1.5.3-all/Crypto/obj/Linux/armv7l/debug_shared/CipherImpl.o] Error 1
make: *** [Crypto-libexec] Error 2

Хотя при этой ошибке я вижу некоторые файлы с расширением *.so.

Я прочитал, что ошибка связана с версией openssl, в моем случае это OpenSSL 1.1.0f 25 May 2017.

Как мне скомпилировать библиотеку без этой ошибки?

Я скомпилировал еета же версия на OSX, и это было нормально с версией openssl LibreSSL 2.2.7

...