Сборка ClamAV: в установке OpenSSL отсутствует функция X509_VERIFY_PARAM, неопределенный символ _X509_VERIFY_PARAM_new в ld

Я пытаюсь собрать ClamAV 99.2 на Mac PPC Powerbook с OS X 10.4.11 Tiger. Сценарий настройки ClamAV всегда останавливается на следующих строках, независимо от различных флагов и параметров конфигурации, которые я пробовал:

checking for EVP_EncryptInit in -lcrypto... yes
checking for X509_VERIFY_PARAM_new in -lssl... no
configure: error: Your OpenSSL installation is missing the X509_VERIFY_PARAM function. 
                  Please upgrade to a more recent version of OpenSSL.

Вот шаги, которые я предпринял, в основном из очень полезного http://www.gctv.ne.jp/~yokota/clamav/ (который описывает процессы установки ClamAV на различных версиях Mac OS X):

  • установил последнюю возможную версию llvm-gcc (llvm-gcc4.2-2.3-ppc-darwin8.11.0)
  • использовал Macports для установки bzip2
  • установленный pcre2-10.22
  • установленный openssl-1.0.2j

$ PATH (в новых строках для удобства чтения)

/usr/local/ssl/bin:
/usr/local/llvm-gcc4.2-2.3-ppc-darwin8.11.0/bin:
/opt/local/bin:
/opt/local/sbin:
/bin:
/sbin:
/usr/bin:
/usr/sbin

Я прочитал все документы и инструкции, поставляемые с openssl, чтобы обойти специфику системы, в том числе

По сути, openssl устанавливается как с хаком, так и без него, как с настройкой специальных параметров конфигурации, так и без них, например no-shared no-asm no-ssl2 no-ssl3. И так как я делал && make test и все тесты (включая x509) всегда проходили, я считаю, что openssl полностью установлен и используется, как указано

$ openssl version 
OpenSSL 1.0.2j  26 Sep 2016

а также

$ which openssl
/usr/local/ssl/bin/openssl

Таким образом, очевидно, что Кламав либо ищет неправильное место, задает неправильный вопрос, либо зависит от того, чего я не вижу. Или может быть даже зависимость системы от старого оригинального openssl? Если так, как я могу обойти?

Конфигурирование ClamAV было выполнено с различными комбинациями частей следующих команд, и со всеми из них в конце, без усилий:

CFLAGS="-O3"
CXXFLAGS="${CFLAGS}"
CPPFLAGS="-I/usr/local/include -I/usr/include -I/usr/local/pcre2/include -I/usr/local/ssl/include -DSSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION=0x0010" 
LDFLAGS="-L/opt/local/lib -L/usr/local/lib -L/usr/lib -L/usr/local/ssl/lib"
OPENSSL_INCLUDE_DIR=/usr/local/ssl/include/openssl
DEP_OPENSSL_INCLUDE=/usr/local/ssl/include/openssl
OPENSSL_LIB_DIR=/usr/local/ssl/lib
OPENSSL_ROOT_DIR=/usr/local/ssl
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
C_INCLUDE_PATH=/usr/local/ssl/include/openssl
CC=/usr/local/llvm-gcc4.2-2.3-ppc-darwin8.11.0/bin/powerpc-apple-darwin8-gcc-4.2.1
./configure --with-openssl=/usr/local/ssl \
--with-ssl=/usr/local/ssl --with-pcre=/usr/local/pcre2 --enable-llvm \
--prefix=/usr/local/clamXav --build=powerpc-apple-darwin`uname -r` 

Наконец, config.log сообщает мне следующее:

configure:18017: checking for X509_VERIFY_PARAM_new in -lssl
configure:18042: /usr/local/llvm-gcc4.2-2.3-ppc-darwin8.11.0/bin/powerpc-apple-darwin8-gcc-4.2.1 -o conftest -I/usr/local/ssl/include -I/usr/local/include -I/usr/include -I/usr/local/pcre2/include -I/usr/local/ssl/include -L/usr/local/ssl/lib -lssl -lcrypto -lz conftest.c -lssl -lcrypto -lz  >&5
/usr/bin/ld: Undefined symbols:
_X509_VERIFY_PARAM_new
collect2: ld returned 1 exit status
configure:18042: $? = 1
configure: failed program was:
| /* confdefs.h */

Есть связанный вопрос на unix.stackexchange.com/questions/274126/openssl-installation-is-missing-the-x509-verify-param-function, но OP никогда не предоставлял информацию, которую он запрашивал, плюс операционная система отличается, это почему я спрашиваю здесь

Итак, как я могу определить отсутствующие символы? Может кто-нибудь дать мне подсказку? Заранее большое спасибо.

0 ответов

Другие вопросы по тегам