1

OS X 10.4.11 Tiger を搭載した Mac PPC Powerbook で ClamAV 99.2 をビルドしようとしています。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/ (さまざまな Mac OS X バージョンでの ClamAV のインストール プロセスについて説明しています) からのものです。

  • 可能な限り最新の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 && make test を実行し、すべてのテスト (x509-stuff を含む) は常にパスしたので、openssl が完全にインストールされ、使用されていると信じています

$ openssl version 
OpenSSL 1.0.2j  26 Sep 2016

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

つまり、間違った場所を見ているか、間違った質問をしている、または私が見ていない何かに依存しているのは明らかに Clamavです。それとも、システムが古い元の 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 は要求された情報を提供したことがなく、オペレーティング システムが異なります。なぜ私はここで尋ねます。

では、不足しているシンボルを定義するにはどうすればよいですか? 誰かが私にヒントを教えてもらえますか?よろしくお願いします。

4

0 に答える 0