Hi all,
I am trying to run imp_sampcon exhaust from the actin tutorial and pyRMSD is required. I tried pip installation and git cloned the repository but got the following issue on installation.
"""
/cm/shared/apps/python-3.7.7/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running install
running build
running build_py
running build_ext
building 'pyRMSD.pdbReader' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/cm/shared/apps/python-3.7.7/lib/python3.7/site-packages/numpy/core/include -I/cm/shared/apps/python-3.7.7/include/python3.7m -I/cm/shared/apps/python-3.7.7/include/python3.7m -c src/pdbreaderlite/PDBReader.cpp -o build/temp.linux-x86_64-3.7/src/pdbreaderlite/PDBReader.o
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/cm/shared/apps/python-3.7.7/lib/python3.7/site-packages/numpy/core/include -I/cm/shared/apps/python-3.7.7/include/python3.7m -I/cm/shared/apps/python-3.7.7/include/python3.7m -c src/pdbreaderlite/PDBReaderObject.cpp -o build/temp.linux-x86_64-3.7/src/pdbreaderlite/PDBReaderObject.o
In file included from /cm/shared/apps/python-3.7.7/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1832:0,
from /cm/shared/apps/python-3.7.7/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /cm/shared/apps/python-3.7.7/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from src/pdbreaderlite/PDBReaderObject.cpp:3:
/cm/shared/apps/python-3.7.7/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" -Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^~~~~~~
src/pdbreaderlite/PDBReaderObject.cpp: In function ‘PyObject* pdbreader_read(pdbreader*, PyObject*)’:
src/pdbreaderlite/PDBReaderObject.cpp:87:55: warning: narrowing conversion of ‘self->pdbreader::reader->PDBReader::all_coordinates.std::vector<_Tp, _Alloc>::size<double, std::allocator<double> >()’ from ‘std::vector<double>::size_type {aka long unsigned int}’ to ‘npy_intp {aka long int}’ inside { } [-Wnarrowing]
npy_intp dims[] = {self->reader->all_coordinates.size()};
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/pdbreaderlite/PDBReaderObject.cpp: At global scope:
src/pdbreaderlite/PDBReaderObject.cpp:142:1: error: invalid conversion from ‘const char*’ to ‘Py_ssize_t {aka long int}’ [-fpermissive]
};
^
src/pdbreaderlite/PDBReaderObject.cpp:108:5: error: invalid conversion from ‘destructor {aka void (*)(_object*)}’ to ‘printfunc {aka int (*)(_object*, _IO_FILE*, int)}’ [-fpermissive]
(destructor)pdbreader_dealloc, /*tp_dealloc*/
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pdbreaderlite/PDBReaderObject.cpp:123:23: error: invalid conversion from ‘long unsigned int’ to ‘const char*’ [-fpermissive]
Py_TPFLAGS_DEFAULT| Py_TPFLAGS_BASETYPE , /*tp_flags*/
src/pdbreaderlite/PDBReaderObject.cpp:142:1: error: cannot convert ‘const char*’ to ‘traverseproc {aka int (*)(_object*, int (*)(_object*, void*), void*)}’ in initialization
};
^
src/pdbreaderlite/PDBReaderObject.cpp:142:1: error: cannot convert ‘PyMethodDef*’ to ‘PyMemberDef*’ in initialization
src/pdbreaderlite/PDBReaderObject.cpp:142:1: error: cannot convert ‘PyMemberDef*’ to ‘PyGetSetDef*’ in initialization
src/pdbreaderlite/PDBReaderObject.cpp:139:2: error: invalid conversion from ‘initproc {aka int (*)(_object*, _object*, _object*)}’ to ‘allocfunc {aka _object* (*)(_typeobject*, long int)}’ [-fpermissive]
(initproc)pdbreader_init, /* tp_init */
^~~~~~~~~~~~~~~~~~~~~~~~
src/pdbreaderlite/PDBReaderObject.cpp:142:1: error: invalid conversion from ‘PyObject* (*)(PyTypeObject*, PyObject*, PyObject*) {aka _object* (*)(_typeobject*, _object*, _object*)}’ to ‘freefunc {aka void (*)(void*)}’ [-fpermissiv]
};
^
src/pdbreaderlite/PDBReaderObject.cpp: In function ‘PyObject* initpdbReader()’:
src/pdbreaderlite/PDBReaderObject.cpp:153:9: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
return;
^~~~~~
src/pdbreaderlite/PDBReaderObject.cpp:155:67: error: ‘Py_InitModule3’ was not declared in this scope
module = Py_InitModule3("pdbReader", NULL,"Simple pdb reading");
^
src/pdbreaderlite/PDBReaderObject.cpp:157:11: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
return;
^~~~~~
src/pdbreaderlite/PDBReaderObject.cpp:163:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
error: command 'gcc' failed with exit status 1
"""
Has anyone encountered this error before? Any help would be greatly appreciated.
All the best,
Jose Gorbea
On 11/18/20 9:17 AM, Gorbea, Jose wrote: > I am trying to run imp_sampcon exhaust from the actin tutorial and > pyRMSD is required. I tried pip installation and git cloned the > repository
Which one? "pip install" certainly won't work because the original author of pyRMSD gave up years ago and never added support for Python 3: https://github.com/victor-gil-sepulveda/pyRMSD/issues/12
If you want to git clone, you can use our fork of pyRMSD which *does* include Python 3 support (https://github.com/salilab/pyRMSD) then build with "python3 setup.py".
Ben
Hi Ben,
Thank you very much for the prompt reply. Your suggestion fixed the issue entirely. Thanks!
Best,
Jose ________________________________ From: Ben Webb ben@salilab.org Sent: Wednesday, November 18, 2020 1:37 PM To: Help and discussion for users of IMP imp-users@salilab.org; Gorbea, Jose gorbea@pennmedicine.upenn.edu Subject: [External] Re: [IMP-users] imp_sampcon pyRMSD installation issue
On 11/18/20 9:17 AM, Gorbea, Jose wrote: > I am trying to run imp_sampcon exhaust from the actin tutorial and > pyRMSD is required. I tried pip installation and git cloned the > repository
Which one? "pip install" certainly won't work because the original author of pyRMSD gave up years ago and never added support for Python 3: https://github.com/victor-gil-sepulveda/pyRMSD/issues/12
If you want to git clone, you can use our fork of pyRMSD which *does* include Python 3 support (https://github.com/salilab/pyRMSD) then build with "python3 setup.py".
Ben -- ben@salilab.org https://salilab.org/~ben/ "It is a capital mistake to theorize before one has data." - Sir Arthur Conan Doyle