导入python-iptables包“iptc”时未定义的符号“afinfo”

时间:2013-04-12 15:11:17

标签: python iptables

我正在尝试利用python-iptables包在Web应用程序中列出iptables规则。当我将iptc软件包添加到我的环境中时,我收到以下错误。我使用yum'provide'来查找libxtables.so.4文件的来源,发现iptablesiptables-devel包是CentOS 6.4 x64中的合适选择。我升级了这些软件包,但没有改变错误。

有没有人对我如何解决这个问题有任何建议?


pgrace@ny-misc01:~/repos/python-iptables/libxtwrapper$ python
Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import iptc
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib64/python2.6/site-packages/iptc/__init__.py", line 10, in 
    from ip4tc import Table, Chain, Rule, Match, Target, Policy, IPTCError
  File "/usr/lib64/python2.6/site-packages/iptc/ip4tc.py", line 11, in 
    from xtables import (XT_INV_PROTO, NFPROTO_IPV4, XTablesError, xtables,
  File "/usr/lib64/python2.6/site-packages/iptc/xtables.py", line 744, in 
    class xtables(object):
  File "/usr/lib64/python2.6/site-packages/iptc/xtables.py", line 757, in xtables
    _xtables_afinfo = ct.c_void_p.in_dll(_lib_xtables, "afinfo")
ValueError: /lib64/libxtables.so.4: undefined symbol: afinfo
>>>

1 个答案:

答案 0 :(得分:1)

请参阅:https://github.com/ldx/python-iptables/issues/25

这是已知问题,旧版本的libxtables将afinfo声明为静态,因此python-iptables无法访问它。但是有一种可能的解决方法 - 请密切关注机票,一旦有进展就会更新。

另一种解决方案是在您的计算机上更新iptables。

免责声明:我是python-iptables的维护者。

更新:现在应该修复。