2016-09-13 378 views
1

後運行Apache辛加沿襲instruction並安裝從wheelApache Singa v1.0.0成功,但未能以下運行,安裝失敗

(singa) $ pip list | grep singa 
singa (1.0.0) 

(singa) $ python 
> import singa 
> ImportError: No module named '_singa_wrap' 

(singa) $ find -name "*singa_wrap*" 
singa_wrap.py 
singa_wrap.pyc 
_singa_wrap.so 

好象有些可疑Swig module extension。有什麼建議麼?

@EDIT

證實protobuf 2.6.1已經安裝在全球範圍下面,

(singa) $ python -c "from singa import _singa_wrap" 
undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv 

$ ldd _singa_wrap.so 
libprotobuf.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf.so.9 

$ dpkg -S libprotobuf.so.9 
libprotobuf9v5 

$ apt-cache policy libprotobuf9v5 
Installed: 2.6.1-1.3 

@Solution

Singa現在開始跳舞后protobuf 2.6.1被成功上Ubuntu 16.04下面,

本地安裝
$ sudo apt-get install python-pip # gcc-5 required thus installed 
$ sudo apt-get install gcc-4.8 
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5 
$ sudo update-alternatives --config gcC# to choose gcc-4.8 

其餘的則在下面的回答@Wei之後。再次感謝。

回答

1

我想你可以嘗試在第一個常見問題的方法http://singa.apache.org/en/docs/installation.html#faq

此外,您可以檢查_singa_wrap.so依賴庫(去/Python2.7/site-packages/singa/和ldd _singa_wrap.so如果沒有找到任何庫(如cudnn或protobuf的),然後嘗試安裝或導出庫路徑。

沒有爲您的問題https://issues.apache.org/jira/browse/SINGA-255票。

將更新您一旦完成。

謝謝。


UPDATE:

看來你的錯誤是protobuf的關係(可通過protobuf的多個版本在您的計算機上引起的)。這是解決方案,

  1. 下載的protobuf(在GitHub上的protobuf-2.6.1.tar.gz),並解壓縮tar文件
  2. 安裝protobuf的進/家//本地/由

    ./configure --prefix=/home/<yourname>/local 
    make && make install 
    echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc 
    source ~/.bashrc 
    
  3. pip uninstall singa
  4. pip install <path to the wheel file>
+0

謝謝,你可以看看在OP的更新? – sof

+0

已更新。請再試一次。謝謝。 – Wei

+0

即使[protobuf 2.6.1](https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz)重建並鏈接到本地​​,也和以前一樣。 – sof