gpt4 book ai didi

python - ReviewBoard : symbol XML_SetHashSalt, 版本 EXPAT_2_0_1_RH 未在文件 libexpat.so.1 中定义并具有链接时间引用

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:32 25 4
gpt4 key购买 nike

我正在运行 ReviewBoard 2.0.15,在某些评论中我收到以下错误:

Django Version: 1.6.11
Python Version: 2.6.6
Installed Applications:
[u'django.contrib.admin',
u'django.contrib.auth',
u'django.contrib.contenttypes',
u'django.contrib.sites',
u'django.contrib.sessions',
u'django.contrib.staticfiles',
u'djblets',
u'djblets.configforms',
u'djblets.datagrid',
u'djblets.extensions',
u'djblets.feedview',
u'djblets.gravatars',
u'djblets.log',
u'djblets.pipeline',
u'djblets.siteconfig',
u'djblets.util',
u'djblets.webapi',
u'haystack',
u'pipeline',
u'reviewboard',
u'reviewboard.accounts',
u'reviewboard.admin',
u'reviewboard.attachments',
u'reviewboard.changedescs',
u'reviewboard.datagrids',
u'reviewboard.diffviewer',
u'reviewboard.extensions',
u'reviewboard.hostingsvcs',
u'reviewboard.notifications',
u'reviewboard.reviews',
u'reviewboard.reviews.ui',
u'reviewboard.scmtools',
u'reviewboard.site',
u'reviewboard.ssh',
u'reviewboard.webapi',
u'django_evolution']
Installed Middleware:
[u'django.middleware.gzip.GZipMiddleware',
u'reviewboard.admin.middleware.InitReviewBoardMiddleware',
u'django.middleware.clickjacking.XFrameOptionsMiddleware',
u'django.middleware.common.CommonMiddleware',
u'django.middleware.doc.XViewMiddleware',
u'django.middleware.http.ConditionalGetMiddleware',
u'django.middleware.locale.LocaleMiddleware',
u'django.contrib.sessions.middleware.SessionMiddleware',
u'django.contrib.auth.middleware.AuthenticationMiddleware',
u'django.contrib.messages.middleware.MessageMiddleware',
u'djblets.siteconfig.middleware.SettingsMiddleware',
u'reviewboard.admin.middleware.LoadSettingsMiddleware',
u'djblets.extensions.middleware.ExtensionsMiddleware',
u'djblets.log.middleware.LoggingMiddleware',
u'reviewboard.accounts.middleware.TimezoneMiddleware',
u'reviewboard.admin.middleware.CheckUpdatesRequiredMiddleware',
u'reviewboard.admin.middleware.X509AuthMiddleware',
u'reviewboard.site.middleware.LocalSiteMiddleware',
u'djblets.extensions.middleware.ExtensionsMiddlewareRunner',
u'reviewboard.admin.middleware.ExtraExceptionInfoMiddleware']


Traceback:
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/Django-1.6.11-py2.6.egg/django/core/handlers/base.py" in get_response
112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/accounts/decorators.py" in _check
23. return view_func(*args, **kwargs)
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/site/decorators.py" in _check
35. return view_func(request, local_site=local_site, *args, **kwargs)
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/reviews/views.py" in review_detail
665. changedesc.fields_changed[field_id])
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/reviews/fields.py" in get_change_entry_sections_html
200. 'rendered_html': mark_safe(self.render_change_entry_html(info)),
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/reviews/fields.py" in render_change_entry_html
590. old_lines = list(iter_markdown_lines(old_value))
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/reviews/markdown_utils.py" in iter_markdown_lines
212. nodes = get_markdown_element_tree(markdown_html)
File "/opt/local/revboard/python/virtualenv/lib/python2.6/site-packages/ReviewBoard-2.0.15-py2.6.egg/reviewboard/reviews/markdown_utils.py" in get_markdown_element_tree
274. doc = parseString(b'<html>%s</html>' % markdown_html)
File "/usr/lib64/python2.6/xml/dom/minidom.py" in parseString
1927. from xml.dom import expatbuilder
File "/usr/lib64/python2.6/xml/dom/expatbuilder.py" in <module>
32. from xml.parsers import expat
File "/usr/lib64/python2.6/xml/parsers/expat.py" in <module>
4. from pyexpat import *

Exception Type: ImportError at /reviews/r/24291/
Exception Value: /usr/lib64/python2.6/lib-dynload/pyexpat.so: symbol XML_SetHashSalt, version EXPAT_2_0_1_RH not defined in file libexpat.so.1 with link time reference

如果我使用相同的虚拟环境手动运行 python,它工作正常:

bin]$ python
Python 2.6.6 (r266:84292, Jan 22 2014, 01:49:05)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyexpat import *
>>>

我已经验证 apache 和 python 确实使用完全相同版本的 expat,所以这也不是问题。我真的很困惑为什么在 100 条评论中只有少数评论会发生这种情况。

编辑:我进行了更多测试,发现了一些东西。

我确实注意到了一件事。 apache 使用的 libexpat.so 指向/usr/local/lib/libexpat.so,如果我在该文件上运行以下命令,则不会得到任何结果:

(virtualenv)[user@rbdev301 lib]$ strings libexpat.so.1.5.2 | grep XML_SetHashSalt
(virtualenv)[user@rbdev301 lib]$ strings libexpat.so.1.5.2 | grep EXPAT_2_0_1_RH

但是,当我检查 Python 正在使用哪个 expat 时,我得到以下信息:

(virtualenv)[user@rbdev301 lib-dynload]$ ldd pyexpat.so 
linux-vdso.so.1 => (0x00007ffff252a000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f52afbae000)
libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007f52af802000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f52af5e4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f52af250000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f52af04c000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f52aee48000)
libm.so.6 => /lib64/libm.so.6 (0x00007f52aebc4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f52affe3000)

所以,python 使用的是/lib64 中的那个。如果我在该命令上运行相同的命令,我确实会得到结果。

(virtualenv)[user@rbdev301 lib64]$ strings libexpat.so.1.5.2 | grep XML_SetHashSalt
XML_SetHashSalt
(virtualenv)[user@rbdev301 lib64]$ strings libexpat.so.1.5.2 | grep EXPAT_2_0_1_RH
EXPAT_2_0_1_RH

Apache 使用的版本与 python 使用的版本是从相同的源编译的,并且它们都是相同的版本。看起来Python使用的是64位,而Apache不是?也许我在这里白费力气。

最佳答案

我能够解决这个问题。我不确定这是否是“正确”的方式,但它对我有用。由于我注意到我的 apache lib 目录中的 libexpat.so.0 符号链接(symbolic link)指向/usr/local/lib 中的符号链接(symbolic link),并且该符号链接(symbolic link)实际上不包含错误所提示的字符串,因此我删除了该符号链接(symbolic link)并创建了一个指向/lib64/libexpat.so.1.5.2 的新文件,如下所示:

sudo ln -s /lib64/libexpat.so.1.5.2 libexpat.so.0

然后我重新启动了机器,一切都按预期工作。

只是想我应该发布为我解决的问题,以防其他人遇到这个奇怪的错误。

关于python - ReviewBoard : symbol XML_SetHashSalt, 版本 EXPAT_2_0_1_RH 未在文件 libexpat.so.1 中定义并具有链接时间引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30630936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com