古い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 がでなくなりました。