![从源代码配置并编译 syslog-ng,得到:此平台不支持线程](https://linux22.com/image/43109/%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E9%85%8D%E7%BD%AE%E5%B9%B6%E7%BC%96%E8%AF%91%20syslog-ng%EF%BC%8C%E5%BE%97%E5%88%B0%EF%BC%9A%E6%AD%A4%E5%B9%B3%E5%8F%B0%E4%B8%8D%E6%94%AF%E6%8C%81%E7%BA%BF%E7%A8%8B.png)
我已经安装了configure、gmake和gmakesyslog-ng-3.4.0alpha1
以及eventlog-0.2.12
其他依赖项。
从然后的输出中./configure --prefix=/syslog --with-gnu-ld
,我可以看到配置脚本正在传递编译器选项-pthread
和链接器标志-lpthread
。
syslog-ng Open Source Edition 3.4.0alpha1 configured
Compiler options:
compiler : gcc -std=gnu99
compiler options : -g -O2 -Wall -pthread -D_REENTRANT -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/eventlog -I$(top_srcdir)/lib/ivykis/lib/include -I$(top_builddir)/lib/ivykis/lib/include -I$(top_srcdir)/lib/ivykis/modules/include -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
linker flags : -lpthread
prefix : /syslog
linking mode : dynamic
__thread keyword : no
Submodules:
ivykis : internal
libmongo-client : internal
Features:
Debug symbols : no
GCC profiling : no
Memtrace : no
IPV6 support : yes
spoof-source support : no
tcp-wrapper support : no
Linux capability support : no
PCRE support : no
Env wrapper support : no
systemd support : no (unit dir: none)
Modules:
Module search path : /syslog/lib/syslog-ng
Sun STREAMS support (module): yes
SSL support (module) : no
SQL support (module) : no
PACCT module (EXPERIMENTAL) : no
MongoDB destination (module): yes
JSON support (module) : parser=no, formatter=no (using no)
SMTP support (module) : no
这是错误的原因吗?如果是这样,我如何阻止 syslog 使用这些选项进行编译?
答案1
三点注意:
- 您应该使用当前的 git 快照而不是 alpha1,因为 alpha1 在启动时崩溃。
- 请询问syslog-ng 邮件列表,因为有更多人来回答你的问题,包括 syslog-ng 开发人员。
- 即使当前的 git 也需要补丁,请参阅邮件列表上的此线程:3.4 关于opensuse工厂