python - 如何让 Python 看到 librt?

标签 python perforce librt

我刚刚安装了 python-dev:

$ sudo apt-get install python-dev

这样我就可以开始使用 P4Python 了。但是当我尝试导入 P4 时,我得到:

Traceback (most recent call last):
  File "/opt/pycharm-2.5/helpers/pycharm/utrunner.py", line 113, in <module>
    modules = [loadSource(a[0])]
  File "/opt/pycharm-2.5/helpers/pycharm/utrunner.py", line 44, in loadSource
    module = imp.load_source(moduleName, fileName)
  File "/home/nyap/proj/p4-rollback/Tools/Perforce/util/p4_rollback_unit_test.py", line 32, in <module>
    import P4
  File "/home/nyap/proj/p4-rollback/Tools/Perforce/p4python/build/lib.linux-x86_64-2.7/P4.py", line 312, in <module>
    import P4API
ImportError: /home/nyap/proj/p4-rollback/Tools/Perforce/p4python/build/lib.linux-x86_64-2.7/P4API.so: undefined symbol: clock_gettime

我需要做什么才能让它发挥作用?

最佳答案

这里有一些尝试。

  • 您确定 librt.so 在您的系统上可用吗?

  • 您可以尝试在 /home/nyap/proj/p4-rollback/Tools/Perforce/p4python/build/lib.linux-x86_64-2.7/P4API 上运行 ldd .so 查看它想要链接到哪些共享库。 librt 是否已列出?找到了吗?

  • 您可以尝试预加载 librt 看看是否有帮助:

    LD_PRELOAD=/path/to/librt.so python ...
    
  • 您可以通过设置 LD_DEBUG=libs 在动态加载器中启用调试:

    LD_PRELOAD=libs python
    

    这将显示有关加载程序正在寻找哪些库以及找到它们的位置的信息。

希望其中一件事情能有所帮助。

关于python - 如何让 Python 看到 librt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10341917/

相关文章:

python - 为什么使用外部函数传递和更改类自变量可以操作可迭代对象,但不能操作变量?

python - 理解 pyvmomi 中的 vim

perforce - 将具有 Perforce 工作区的驱动器从一台计算机移动到另一台计算机

c++ - 添加 -lrt 无效时跟踪编译器错误 "undefined reference"

python - 使用来自另一个数据帧的值更新数据帧 header

python - 使用 scikit learn 进行稀疏编码后应用最大/平均池化进行分类

git p4 提交失败

version-control - Maven Perforce 插件突然需要密码?

librt - librt.so 是什么?如何直接使用?