libpython2.7.a(abstract.o) recompile with -fPIC

安裝condor時遇到這個錯誤,/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC,查資料說是安裝python時沒有使用-fPIC參數,使生成的libpython2.7.a靜態庫有問題。於是/usr/local/lib/libpython2.7.a文件刪除,並重新安裝python,如下:

wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
將python_source_code路徑下的setup.py 中 440,441行的代碼註釋掉:
#add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
  #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
之後:
make & make install
這樣新生成的libpython2.7.a就沒有問題啦~(ps:若重新安裝condor時發現又提示無法找到libpython2.7.a,則找到相應的文件移到錯誤提示中所的路徑即可)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章