Google S2Geometry python庫在ubuntu安裝的問題

Google S2Geometry

Installation

sudo apt install cmake libgflags-dev libgoogle-glog-dev libgtest-dev libssl-dev
sudo apt install swig # for python interface

# get source code
cd [parent of directory where you want to put S2]
git clone https://github.com/google/s2geometry.git
cd s2geometry

# build
mkdir build
cd build
# You can omit -DGTEST_ROOT to skip tests; see above for macOS.
cmake -DGTEST_ROOT=/usr/src/gtest ..
make
make test  # If GTEST_ROOT specified above.
sudo make install

問題 libs2.so: cannot open shared object file: No such file or directory

bitway@ubuntu-t470:~/s2geometry/build$ python
Python 2.7.12 (default, Nov 12 2018, 14:36:49) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pywraps2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pywraps2.py", line 28, in <module>
    _pywraps2 = swig_import_helper()
  File "/usr/local/lib/python2.7/dist-packages/pywraps2.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywraps2', fp, pathname, description)
ImportError: libs2.so: cannot open shared object file: No such file or directory
>>> 

解決

# clean
s2geometry/build$ make clean
s2geometry/build$ cmake ..

然後按照參考[1] importerror-libs2-so-cannot-open-shared-object-file-no-such-file-or-directory 所說,將 CMakeCache.txt 中的 CMAKE_INSTALL_PREFIX:PATH 從 /usr/local 改爲 /usr
接着運行

s2geometry/build$ make && sudo make install
s2geometry/build$ python ../src/python/pywraps2_test.py 
..........................................
----------------------------------------------------------------------
Ran 42 tests in 0.018s

OK

參考

[1] importerror-libs2-so-cannot-open-shared-object-file-no-such-file-or-directory

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