Open woodg07 opened 5 years ago
Not too sure, but it looks like the hungarian c++ code uses a deprecated numpy api. It's probably incompatible with the version of numpy you're using.
Hungarian is not necessary for pele. It's functionality is duplicated by the minpermdist function. The minpermdist is faster, so that is set as the default. See mindist/permutational_alignment.py.
I suggest just skipping the hungarian install.
I had the same problem. I tried to install the hungarian
package separately and it worked.
Download it from: https://github.com/hrldcpr/hungarian
Then use a formatter like clang-format to fix the formatting issues in asp.cpp file:
clang-format -i asp.cpp
Then follow the instructions on the same github repo (python setup.py build
etc.)
Thanks @arianvc . If you're feeling keen you might consider submitting a pull request to fix the hungarian package. I submitted a fix a few years ago and the author seemed happy to receive the change.
I'm getting an error on install the hungarian package using python 3.6:
-bash-4.2$ pip install hungarian Collecting hungarian Downloading https://files.pythonhosted.org/packages/b2/f9/9cccbbb8c724c4eff5d006bd3fe185e91d121caf2ffd345fe31421f1c886/hungarian-0.2.3.tar.gz Building wheels for collected packages: hungarian Running setup.py bdist_wheel for hungarian ... error Complete output from command /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-2diisrml/hungarian/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/pip-wheel-ue8vcxk1 --python-tag cp36: running bdist_wheel running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src build_src building extension "hungarian" sources
nothing done with h_files = ['asp.h'] build_src: building npy-pkg config files running build_ext customize UnixCCompiler customize UnixCCompiler using build_ext customize UnixCCompiler customize UnixCCompiler using build_ext building 'hungarian' extension compiling C++ sources C compiler: g++ -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
compile options: '-I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include -I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/include/python3.6m -c' g++: asp.cpp asp.cpp: In function ‘void asp(int, cost*, long int, long int*)’: asp.cpp:67:3: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for(l= 0;l<n;l++) ^~~ asp.cpp:73:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ col_mate[k]= -1; ^
~~~ asp.cpp:120:8: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for(j= l+1;j<n;j++) ^~~ asp.cpp:122:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ goto breakthru; ^~~~ g++: hungarian.cpp In file included from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:0, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4, from hungarian.cpp:8: /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]warning "Using deprecated NumPy API, disable it by " \
^
~~ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:98:53: error: ‘Py_InitModule’ was not declared in this scope (void) Py_InitModule("hungarian", HungarianMethods); ^ hungarian.cpp: In function ‘int main(int, char*)’: hungarian.cpp:106:28: error: cannot convert ‘char’ to ‘wchar_t’ for argument ‘1’ to ‘void Py_SetProgramName(wchar_t)’ Py_SetProgramName(argv[0]); ^ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:100:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ In file included from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:0, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4, from hungarian.cpp:8: /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]warning "Using deprecated NumPy API, disable it by " \
^
~~ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:98:53: error: ‘Py_InitModule’ was not declared in this scope (void) Py_InitModule("hungarian", HungarianMethods); ^ hungarian.cpp: In function ‘int main(int, char*)’: hungarian.cpp:106:28: error: cannot convert ‘char’ to ‘wchar_t’ for argument ‘1’ to ‘void Py_SetProgramName(wchar_t)’ Py_SetProgramName(argv[0]); ^ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:100:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ error: Command "g++ -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include -I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/include/python3.6m -c hungarian.cpp -o build/temp.linux-x86_64-3.6/hungarian.o -MMD -MF build/temp.linux-x86_64-3.6/hungarian.o.d" failed with exit status 1Failed building wheel for hungarian Running setup.py clean for hungarian Failed to build hungarian Installing collected packages: hungarian Running setup.py install for hungarian ... error Complete output from command /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-2diisrml/hungarian/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-itya3_p3/install-record.txt --single-version-externally-managed --compile: running install running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands --compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options running build_src build_src building extension "hungarian" sources
compile options: '-I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include -I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/include/python3.6m -c' g++: asp.cpp asp.cpp: In function ‘void asp(int, cost*, long int, long int*)’: asp.cpp:67:3: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for(l= 0;l<n;l++) ^~~ asp.cpp:73:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ col_mate[k]= -1; ^
~~~ asp.cpp:120:8: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] for(j= l+1;j<n;j++) ^~~ asp.cpp:122:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’ goto breakthru; ^~~~ g++: hungarian.cpp In file included from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:0, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4, from hungarian.cpp:8: /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]warning "Using deprecated NumPy API, disable it by " \
^
~~ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:98:53: error: ‘Py_InitModule’ was not declared in this scope (void) Py_InitModule("hungarian", HungarianMethods); ^ hungarian.cpp: In function ‘int main(int, char*)’: hungarian.cpp:106:28: error: cannot convert ‘char’ to ‘wchar_t’ for argument ‘1’ to ‘void Py_SetProgramName(wchar_t)’ Py_SetProgramName(argv[0]); ^ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:100:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ In file included from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1816:0, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:18, from /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4, from hungarian.cpp:8: /nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]warning "Using deprecated NumPy API, disable it by " \
^
~~ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:98:53: error: ‘Py_InitModule’ was not declared in this scope (void) Py_InitModule("hungarian", HungarianMethods); ^ hungarian.cpp: In function ‘int main(int, char*)’: hungarian.cpp:106:28: error: cannot convert ‘char’ to ‘wchar_t’ for argument ‘1’ to ‘void Py_SetProgramName(wchar_t)’ Py_SetProgramName(argv[0]); ^ hungarian.cpp: In function ‘PyObject* inithungarian()’: hungarian.cpp:100:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ error: Command "g++ -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/lib/python3.6/site-packages/numpy/core/include -I/nfs/grid/software/pharmsci/apps/Linux-x86_64-RHEL7/anaconda3/envs/my-rdkit-env/include/python3.6m -c hungarian.cpp -o build/temp.linux-x86_64-3.6/hungarian.o -MMD -MF build/temp.linux-x86_64-3.6/hungarian.o.d" failed with exit status 1