Plone 4.2.3连续死亡,然后重新启动,出现错误“undefined symbol:clock_gettime”

时间:2013-02-25 03:54:00

标签: plone

通过统一安装程序将Plone 4.2.3安装为独立的Zope实例 机器运行CentOS版本5.9。该机器的本地IP地址是 192.168.1.10。只有我在buildout.cfg中做的更改是:

http-address = 192.168.1.10:8080

然后从./bin/buildout成功运行/usr/local/Plone-4.2.3/zinstance/。 没有其他进程侦听端口8080.启动Plone成功:

# pwd; date; /usr/bin/sudo -u plone /usr/local/Plone-4.2.3/zinstance/bin/plonectl start
/usr/local/Plone-4.2.3
Sun Feb 24 14:12:06 EST 2013
instance: . .
daemon process started, pid=2687

问题是ZServer停止,另一个大约每25到30个启动一次 秒,所以是不可用的。 ... / zinstance / var / log / instance.log显示:

------
2013-02-24T14:12:31 INFO ZServer HTTP server started at Sun Feb 24 14:12:31 2013
    Hostname: xxxxx
    Port: 8080
------
2013-02-24T14:13:11 INFO ZServer HTTP server started at Sun Feb 24 14:13:11 2013
    Hostname: xxxxx
    Port: 8080
------
2013-02-24T14:13:39 INFO ZServer HTTP server started at Sun Feb 24 14:13:39 2013
    Hostname: xxxxx
    Port: 8080
------
2013-02-24T14:14:09 INFO ZServer HTTP server started at Sun Feb 24 14:14:09 2013
    Hostname: xxxxx
    Port: 8080

以及更多此类条目会不断添加到日志文件中。

.../zinstance/parts/instance/etc/zope.conf我然后更改了事件日志级别 从 INFO ALL 并设置“zserver-threads 1”然后停止并启动Plone。

再次ZServer在25到30秒后死亡,另一个ZServer启动,它就死了 25-30秒后等.instance.log中的所有条目都是DEBUG级别。为一个 给定ZServer,最后一个日志条目的日期约为。在其“信息”之后19秒 ZServer HTTP服务器启动“进入。大约8秒后,下一个条目是 另一个“INFO ZServer HTTP服务器已启动”。

问题:为什么ZServer进程死了?


如果fg模式和ZSer​​ver死前的最后几个错误,请运行服务器:

zope.configuration.xmlconfig.ZopeXMLConfigurationError:文件“/usr/local/Plone-4.2.3/zinstance/parts/instance/etc/site.zcml”,第16.2-16.23行

ZopeXMLConfigurationError:文件“/usr/local/Plone-4.2.3/buildout-cache/eggs/Products.CMFPlone-4.2.3-py2.7.egg/Products/CMFPlone/configure.zcml”,第102.4行 - 106.10

ZopeXMLConfigurationError:File“/usr/local/Plone-4.2.3/buildout-cache/eggs/plone.app.theming-1.0.4-py2.7.egg/plone/app/theming/configure.zcml” ,第19.4-19.34行

ZopeXMLConfigurationError:File“/usr/local/Plone-4.2.3/buildout-cache/eggs/plone.app.theming-1.0.4-py2.7.egg/plone/app/theming/browser/configure。 zcml“,第12.4-18.10行

ImportError:/usr/local/Plone-4.2.3/buildout-cache/eggs/lxml-2.3.4-py2.7-linux-i686.egg/lxml/etree.so:undefined symbol:clock_gettime

clock_gettime错误显然与dev plone org ticket相关:

13426(lxml错误:未定义的符号:带有Plone-4.2的clock_gettime ......

13409(使用UnifiedInstaller安装Plone 4.2.3时遇到问题) - Plone ......

经过 /usr/local/Plone-4.2.3/buildout-cache/eggs/lxml-2.3.4-py2.7-linux-i686.egg/lxml/etree.so 使用nm并且输出中只出现clock_gettime:

0008a130 T callLookupFallback          U clock_gettime          你关闭

“T”符号位于文本(代码)部分。 “U”符号未定义。

谷歌搜索(linux clock_gettime)发现

https://bbs.archlinux.org/viewtopic.php?id=88108

Ubuntu Linux C++ error: undefined reference to 'clock_gettime' and 'clock_settime'

两者都表示将-lrt添加到链接到的库列表(的末尾) 将解决问题。我在看 Plone的-4.2.3-UnifiedInstaller / base_skeleton / lxml_static.cfg。那种 make文件对我来说并不熟悉。不知道下一步该做什么。

1 个答案:

答案 0 :(得分:3)

选择最新版本的4.2.x Unified Installer(撰写本文时为4.2.4),它修复了CentOS上的libxml2构建。然后,在./install.sh命令行上使用“--static-lxml”参数。