1. 程式人生 > >libpython2.7.a(abstract.o) recompile with -fPIC

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,則找到相應的檔案移到錯誤提示中所的路徑即可)