pyhon导入psycopg2模块,提示undefined symbol: PQconninfo

举报
way 发表于 2019/08/08 19:58:55 2019/08/08
【摘要】 问题描述: pyhon导入psycopg2模块,提示undefined symbol: PQconninfo [root@hd02 ~]# python Python 2.7.15 (default, Apr 1 2019, 00:00:00) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "...

问题描述:

pyhon导入psycopg2模块,提示undefined symbol: PQconninfo

[root@hd02 ~]# python
Python 2.7.15 (default, Apr  1 2019, 00:00:00)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>>
>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.linux-aarch64/egg/psycopg2/__init__.py", line 50, in <module>
  File "build/bdist.linux-aarch64/egg/psycopg2/_psycopg.py", line 7, in <module>
  File "build/bdist.linux-aarch64/egg/psycopg2/_psycopg.py", line 6, in __bootstrap__
ImportError: /root/.cache/Python-Eggs/psycopg2-2.8.3-py2.7-linux-aarch64.egg-tmp/psycopg2/_psycopg.so: undefined symbol: PQconninfo

 

定位过程:


1. 查询PQconninfo属于那个so文件

   find -name /  *.so|xargs -n 1 nm -AD |grep PQconninfo

   输出结果:/lib64/libpq.so

      

2. ldd _psycopg.so文件,确认 /lib64/libpq.so 是否包含在如下输出中,输出如附件图

  ldd /root/.cache/Python-Eggs/psycopg2-2.8.3-py2.7-linux-aarch64.egg-tmp/psycopg2/_psycopg.so


3. 发现libpq.so被链到了另外一路径下的 libpq.so  
 
4. 执行如下命令,修改其优先链接路径

   export LD_LIBRARY_PATH=/usr/lib64/


 问题原因:

动态链接库路径不正确,通过设置LD_LIBRARY_PATH,使其链接正确的动态库


解决办法:

执行如下命令:

export LD_LIBRARY_PATH=/usr/lib64/

 

  • 281.34KB 下载次数:7

    附件下载

  • ldd.rar 281.34KB 下载次数:7
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。