Как мне заставить Python увидеть 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
Что мне нужно сделать, чтобы заставить это работать?
1 ответ
Вот несколько вещей, чтобы попробовать.
Вы уверены, что
librt.so
доступно в вашей системе?Вы можете попробовать запустить
ldd
на/home/nyap/proj/p4-rollback/Tools/Perforce/p4python/build/lib.linux-x86_64-2.7/P4API.so
чтобы увидеть, с какими общими библиотеками он хочет связать. Являетсяlibrt
в списке? Это найдено?Вы можете попробовать предварительную загрузку
librt
и посмотрим, поможет ли это:LD_PRELOAD=/path/to/librt.so python ...
Вы можете включить отладку в динамическом загрузчике, установив
LD_DEBUG=libs
:LD_PRELOAD=libs python
Это отобразит информацию о том, какие библиотеки ищет загрузчик и где он их находит.
Надеюсь, одна из этих вещей поможет.