我从源代码安装了 OpenSSL,并在配置和配置期间GLIB_LIBS
将 和链接GLIB_CFLAGS
到正确的目录with-SSL
当我尝试在 Ubuntu Server 14.04 上启动 syslog-ng(版本 3.6.4)时,出现以下错误:
[2017-04-20T12:39:18.252222] Error opening plugin module; module='afsocket', error='/linux1/lib/syslog-ng/libsyslog-ng-crypto.so: undefined symbol: SSL_library_init'
[2017-04-20T12:39:18.253205] Error opening plugin module; module='dbparser', error='/linux1/lib/syslog-ng/libsyslog-ng-crypto.so: undefined symbol: SSL_library_init'
[2017-04-20T12:39:18.255387] Error opening plugin module; module='afsocket-tls', error='/linux1/lib/syslog-ng/libsyslog-ng-crypto.so: undefined symbol: SSL_library_init'
[2017-04-20T12:39:18.256429] Error opening plugin module; module='cryptofuncs', error='/linux1/lib/syslog-ng/libsyslog-ng-crypto.so: undefined symbol: SSL_library_init'
[2017-04-20T12:39:18.256964] Error opening plugin module; module='syslog-ng-crypto', error='/linux1/lib/syslog-ng/libsyslog-ng-crypto.so: undefined symbol: SSL_library_init'
答案1
OpenSSL 库高度依赖于版本,并且它们的 ABI 经常变化。
要么在系统上维护不同版本的 ssl 库,要么必须(重新)编译依赖于新 openssl 库的二进制文件。