2012-04-26 9 views
4

Я только что установил питона-DEV с:Как мне получить Python, чтобы увидеть librt?

$ 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 

Что мне нужно сделать, чтобы заставить это работать?

ответ

3

Вот несколько вещей, которые можно попробовать.

  • Вы уверены, что 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 
    

    Это будет отображать информацию о том, что библиотеки загрузчик ищет и где он их находит.

Надеюсь, одна из этих вещей поможет.

+2

Какое из вышеперечисленных решений было сработавшим? –