モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

PostfixでOpenSSLのバージョンでwarningが出る

古いCentOSに入っているTLS1.2対応したPostfixが、下記のような warning をずっと出していて大丈夫なのか、どうすれば止まるのか、という相談をうけました。

warning: run-time library vs. compile-time header version mismatch: OpenSSL 1.0.2 may not be compatible with OpenSSL 0.9.8

調べてみると、src/tls/tls_misc.c 中の tls_check_version 関数でこのwarningを出しており、OPENSSL_VERSION_NUMBER と SSLeay() の間でバージョンの違いがあると出るようでした。

そこで OPENSSL_VERSION_NUMBER を確認すると

/usr/include/openssl/opensslv.h

#define OPENSSL_VERSION_NUMBER       0x0090802fL

の設定が使われており、後からソースで入れたOpenSSLのバージョンと合っていないためとわかりました。

Postfixインストール時には下記オプションつけて

-L/opt/openssl/lib

後から入れたOpenSSLライブラリ指定していたのですが、include については指定されていなかったようです。

そこで include についても下記のように、後から入れたOpenSSLの include を参照するように追加してもらいました。

-I/opt/openssl/include

これで warning がでなくなりました。