2016-08-21 15 views
1

私はUbuntu 16.04を使用しています。私はMurmurhashのpythonライブラリをインストールしようとしていますが、エラーが発生しています: 'x86_64-linux-gnu-gcc'コマンドが終了ステータス1で失敗しました。私はインターネットを見て、それはこのエラーがPythonヘッダーファイルがないためにあると言います。だから私はしたPython:Python.hファイルがありません

sudo apt-get install python-dev 

しかし、まだエラーがあります。 Anacondaがインストールされているか、何が原因ですか?誰かがこのエラーを修正する方法で私を助けることができますか?エラーは以下の通りである:

running install 
running build 
running build_ext 
building 'mmh3' extension 
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c mmh3module.cpp -o build/temp.linux-x86_64-2.7/mmh3module.o 
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ 
In file included from /usr/include/python2.7/Python.h:81:0, 
      from mmh3module.cpp:3: 
mmh3module.cpp: In function ‘int mmh3_traverse(PyObject*, visitproc, void*)’: 
mmh3module.cpp:107:63: error: ‘PyModule_GetState’ was not declared in this scope 
#define GETSTATE(m) ((struct module_state*)PyModule_GetState(m)) 
                 ^
/usr/include/python2.7/objimpl.h:326:13: note: in definition of macro ‘Py_VISIT’ 
    if (op) {              \ 
     ^
mmh3module.cpp:134:14: note: in expansion of macro ‘GETSTATE’ 
Py_VISIT(GETSTATE(m)->error); 
     ^
In file included from /usr/include/python2.7/Python.h:80:0, 
      from mmh3module.cpp:3: 
mmh3module.cpp: In function ‘int mmh3_clear(PyObject*)’: 
mmh3module.cpp:107:63: error: ‘PyModule_GetState’ was not declared in this scope 
#define GETSTATE(m) ((struct module_state*)PyModule_GetState(m)) 
                 ^
/usr/include/python2.7/object.h:816:13: note: in definition of macro ‘Py_CLEAR’ 
if (op) {        \ 
     ^

mmh3module.cpp:139:14: note: in expansion of macro ‘GETSTATE’ 
Py_CLEAR(GETSTATE(m)->error); 
     ^
mmh3module.cpp: At global scope: 
mmh3module.cpp:143:27: error: variable ‘PyModuleDef mmh3module’ has initializer but incomplete type 
static struct PyModuleDef mmh3module = { 
        ^
mmh3module.cpp:144:5: error: ‘PyModuleDef_HEAD_INIT’ was not declared in this scope 
PyModuleDef_HEAD_INIT, 
^ 
mmh3module.cpp: In function ‘void PyInit_mmh3()’: 
mmh3module.cpp:157:51: error: ‘PyModule_Create’ was not declared in this scope 
PyObject *module = PyModule_Create(&mmh3module); 
              ^
In file included from /usr/include/wchar.h:51:0, 
      from /usr/include/python2.7/unicodeobject.h:120, 
      from /usr/include/python2.7/Python.h:85, 
      from mmh3module.cpp:3: 
mmh3module.cpp:160:16: error: return-statement with a value, in function returning 'void' [-fpermissive] 
    return NULL; 
      ^
mmh3module.cpp:107:63: error: ‘PyModule_GetState’ was not declared in this scope 
#define GETSTATE(m) ((struct module_state*)PyModule_GetState(m)) 
                 ^
mmh3module.cpp:164:31: note: in expansion of macro ‘GETSTATE’ 
struct module_state *st = GETSTATE(module); 
         ^
mmh3module.cpp:166:60: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] 
st->error = PyErr_NewException("mmh3.Error", NULL, NULL); 
                 ^
In file included from /usr/include/wchar.h:51:0, 
      from /usr/include/python2.7/unicodeobject.h:120, 
      from /usr/include/python2.7/Python.h:85, 
      from mmh3module.cpp:3: 
mmh3module.cpp:169:16: error: return-statement with a value, in function returning 'void' [-fpermissive] 
    return NULL; 
      ^
mmh3module.cpp:172:12: error: return-statement with a value, in function returning 'void' [-fpermissive] 
return module; 
     ^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 
+0

PythonパッケージのC++部分に問題があると思われ、結果としてコンパイルされません。 @KlausD。 –

+0

しかし、同じものがUbuntuで動作しています。12.04 – rombi

+0

GCCは長年にわたってより厳しくなっています。正しいフラグを設定してエラーを抑止することで、手動でコンパイルすることができます。行の最後に '[]'でそれらを見ることができます。 –

答えて

1

私は動作しているようだubuntu 16.04

apt-get update 
apt-get install -y python-pip 
pip install mmh3 

とのドッキングウィンドウコンテナを試してみました。あなたのマシンでは、試してみることができます。これにより

sudo apt-get install -y python-pip 
sudo pip install mmh3 

あなたはそれがgccとアナコンダの問題であるかどうかを確認してくださいます。

私はまた、コマンドpip install mmh3でubuntu 14.04でanacondaをチェックしました。それも働いているようだ。

関連する問題