# Disvis PyArray XDECREF error

**URL:** <https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060>\
**Category:** DISVIS\
**Created:** [June 5, 2020, 10:42am UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060 "2020-06-05T10:42:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![andreagraziadei](https://avatars.discourse-cdn.com/v4/letter/a/73ab20/32.png) [@andreagraziadei](https://ask.bioexcel.eu/u/andreagraziadei)\
**Post date:** [June 5, 2020, 10:42am UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060/1 "2020-06-05T10:42:42Z")

</div>

hello,  
I have installed Disvis on a Linux system with python2.7.17 using

python setup.py install

The installation completes successfully but with the following warning:

src/\_extensions.c:194:5: warning: implicit declaration of function ‘PyArray\_XDECREF\_ERR’; did you mean ‘PyArray\_XDECREF’? [-Wimplicit-function-declaration]  
PyArray\_XDECREF\_ERR(py\_out);  
^ ~~~~~~~~~~~~~~~~~~  
PyArray\_XDECREF

When I then try to run disvis, i get the error:

```
Traceback (most recent call last):
  File "/home/andrea/software/anaconda2/bin/disvis", line 11, in <module>
    load_entry_point('disvis==2.0.0', 'console_scripts', 'disvis')()
  File "/home/andrea/software/anaconda2/lib/python2.7/site-packages/pkg_resources/ __init__.py", line 489, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/home/andrea/software/anaconda2/lib/python2.7/site-packages/pkg_resources/ __init__.py", line 2852, in load_entry_point
    return ep.load()
  File "/home/andrea/software/anaconda2/lib/python2.7/site-packages/pkg_resources/ __init__.py", line 2443, in load
    return self.resolve()
  File "/home/andrea/software/anaconda2/lib/python2.7/site-packages/pkg_resources/ __init__.py", line 2449, in resolve
    module = __import__ (self.module_name, fromlist=[' __name__'], level=0)
  File "/home/andrea/software/anaconda2/lib/python2.7/site-packages/disvis-2.0.0-py2.7-linux-x86_64.egg/disvis/ __init__.py", line 1, in <module>
    from .disvis import DisVis
  File "/home/andrea/software/anaconda2/lib/python2.7/site-packages/disvis-2.0.0-py2.7-linux-x86_64.egg/disvis/disvis.py", line 27, in <module>
    from ._extensions import rotate_grid3d
ImportError: /home/andrea/software/anaconda2/lib/python2.7/site-packages/disvis-2.0.0-py2.7-linux-x86_64.egg/disvis/_extensions.so: undefined symbol: PyArray_XDECREF_ERR
```

---

<div class="post-metadata">

**Author:** ![amjjbonvin](https://dub1.discourse-cdn.com/flex013/user_avatar/ask.bioexcel.eu/amjjbonvin/32/23_2.png) [@amjjbonvin](https://ask.bioexcel.eu/u/amjjbonvin)\
**Post date:** [June 6, 2020, 2:39pm UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060/2 "2020-06-06T14:39:57Z")

</div>

Did you install all dependencies?

Note that there is also a docker version available. Check:

[https://hub.docker.com/r/indigodatacloudapps/disvis](https://hub.docker.com/r/indigodatacloudapps/disvis)

---

<div class="post-metadata">

**Author:** ![andreagraziadei](https://avatars.discourse-cdn.com/v4/letter/a/73ab20/32.png) [@andreagraziadei](https://ask.bioexcel.eu/u/andreagraziadei)\
**Post date:** [June 9, 2020, 8:28am UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060/3 "2020-06-09T08:28:30Z")

</div>

I thought the dependencies were only python2.7 and NumPy , and the rest is only required for gpu/cpu acceleration?  
I have installed the additional packages for cpu acceleration and reinstalled disvis, but the problem persists… I wonder if it is my anaconda set up. In any case, I will switch to docker.

The compilation warning seems to be in the rotate\_grid3d function.

Here is gthe full list output of installation

```
reating build/temp.linux-x86_64-2.7/src
/home/andrea/software/anaconda2/bin/x86_64-conda_cos6-linux-gnu-cc -fno-strict-aliasing -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -fPIC -I/home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/home/andrea/software/anaconda2/include/python2.7 -c src/libdisvis.c -o build/temp.linux-x86_64-2.7/src/libdisvis.o -ffast-math
In file included from /home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1824:0,
                 from /home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                 from src/libdisvis.c:283:
/home/andrea/software/anaconda2/lib/python2.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 " \
  ^ ~~~~~~
In file included from /home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:21:0,
                 from /home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                 from src/libdisvis.c:283:
/home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/__multiarray_api.h:1463:1: warning: '_import_array' defined but not used [-Wunused-function]
 _import_array(void)
 ^ ~~~~~~~~~~~~
x86_64-conda_cos6-linux-gnu-gcc -pthread -shared -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-rpath,/home/andrea/software/anaconda2/lib -L/home/andrea/software/anaconda2/lib -Wl,--no-as-needed -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 build/temp.linux-x86_64-2.7/src/libdisvis.o -L/home/andrea/software/anaconda2/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/disvis/libdisvis.so
building 'disvis._extensions' extension
/home/andrea/software/anaconda2/bin/x86_64-conda_cos6-linux-gnu-cc -fno-strict-aliasing -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O3 -pipe -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -fPIC -I/home/andrea/software/anaconda2/lib/python2.7/site-packages/numpy/core/include -I/home/andrea/software/anaconda2/include/python2.7 -c src/_extensions.c -o build/temp.linux-x86_64-2.7/src/_extensions.o -ffast-math
src/_extensions.c: In function 'rotate_grid3d':
src/_extensions.c:194:5: warning: implicit declaration of function 'PyArray_XDECREF_ERR'; did you mean 'PyArray_XDECREF'? [-Wimplicit-function-declaration]
     PyArray_XDECREF_ERR(py_out);
     ^ ~~~~~~~~~~~~~~~~~~
     PyArray_XDECREF
x86_64-conda_cos6-linux-gnu-gcc -pthread -shared -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-rpath,/home/andrea/software/anaconda2/lib -L/home/andrea/software/anaconda2/lib -Wl,--no-as-needed -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 build/temp.linux-x86_64-2.7/src/_extensions.o -L/home/andrea/software/anaconda2/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/disvis/_extensions.so
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/disvis.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/elements.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/helpers.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/pdb.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/libdisvis.so -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/kernels.cl -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/_extensions.so -> build/bdist.linux-x86_64/egg/disvis
creating build/bdist.linux-x86_64/egg/disvis/IO
copying build/lib.linux-x86_64-2.7/disvis/IO/pdb.py -> build/bdist.linux-x86_64/egg/disvis/IO
copying build/lib.linux-x86_64-2.7/disvis/IO/mrc.py -> build/bdist.linux-x86_64/egg/disvis/IO
copying build/lib.linux-x86_64-2.7/disvis/IO/mmcif.py -> build/bdist.linux-x86_64/egg/disvis/IO
copying build/lib.linux-x86_64-2.7/disvis/IO/ __init__.py -> build/bdist.linux-x86_64/egg/disvis/IO
copying build/lib.linux-x86_64-2.7/disvis/main.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/kernels.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/volume.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/ __init__.py -> build/bdist.linux-x86_64/egg/disvis
copying build/lib.linux-x86_64-2.7/disvis/pyclfft.py -> build/bdist.linux-x86_64/egg/disvis
creating build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u83.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c600vc.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u1153.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48n9.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48n527.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u4749.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c600v.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u2219.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u7111.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u181.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u27.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u1641.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u1201.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u3733.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u2947.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/E.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u1.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u8649.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u5879.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48n309.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/data/c48u815.npy -> build/bdist.linux-x86_64/egg/disvis/data
copying build/lib.linux-x86_64-2.7/disvis/rotations.py -> build/bdist.linux-x86_64/egg/disvis
byte-compiling build/bdist.linux-x86_64/egg/disvis/disvis.py to disvis.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/elements.py to elements.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/helpers.py to helpers.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/pdb.py to pdb.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/IO/pdb.py to pdb.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/IO/mrc.py to mrc.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/IO/mmcif.py to mmcif.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/IO/ __init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/main.py to main.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/kernels.py to kernels.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/volume.py to volume.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/ __init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/pyclfft.py to pyclfft.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/rotations.py to rotations.pyc
creating stub loader for disvis/libdisvis.so
creating stub loader for disvis/_extensions.so
byte-compiling build/bdist.linux-x86_64/egg/disvis/libdisvis.py to libdisvis.pyc
byte-compiling build/bdist.linux-x86_64/egg/disvis/_extensions.py to _extensions.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying disvis.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying disvis.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying disvis.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying disvis.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying disvis.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying disvis.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
disvis.kernels: module references __file__
disvis.rotations: module references __file__
creating dist
creating 'dist/disvis-2.0.0-py2.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing disvis-2.0.0-py2.7-linux-x86_64.egg
removing '/home/andrea/software/anaconda2/lib/python2.7/site-packages/disvis-2.0.0-py2.7-linux-x86_64.egg' (and everything under it)
creating /home/andrea/software/anaconda2/lib/python2.7/site-packages/disvis-2.0.0-py2.7-linux-x86_64.egg
Extracting disvis-2.0.0-py2.7-linux-x86_64.egg to /home/andrea/software/anaconda2/lib/python2.7/site-packages
disvis 2.0.0 is already the active version in easy-install.pth
Installing disvis script to /home/andrea/software/anaconda2/bin

Installed /home/andrea/software/anaconda2/lib/python2.7/site-packages/disvis-2.0.0-py2.7-linux-x86_64.egg
Processing dependencies for disvis==2.0.0
Searching for numpy==1.16.2
Best match: numpy 1.16.2
Adding numpy 1.16.2 to easy-install.pth file
Installing f2py2 script to /home/andrea/software/anaconda2/bin
Installing f2py script to /home/andrea/software/anaconda2/bin
Installing f2py2.7 script to /home/andrea/software/anaconda2/bin

Using /home/andrea/software/anaconda2/lib/python2.7/site-packages
Finished processing dependencies for disvis==2.0.0
```

---

<div class="post-metadata">

**Author:** ![amjjbonvin](https://dub1.discourse-cdn.com/flex013/user_avatar/ask.bioexcel.eu/amjjbonvin/32/23_2.png) [@amjjbonvin](https://ask.bioexcel.eu/u/amjjbonvin)\
**Post date:** [June 10, 2020, 6:35am UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060/4 "2020-06-10T06:35:06Z")

</div>

Hi Andrea

The code has a dependency on an older version on NumPy. This has now been updated.  
You should pull again from the Git repo and reinstall.

Cheers  
Alexandre

---

<div class="post-metadata">

**Author:** ![andreagraziadei](https://avatars.discourse-cdn.com/v4/letter/a/73ab20/32.png) [@andreagraziadei](https://ask.bioexcel.eu/u/andreagraziadei)\
**Post date:** [June 10, 2020, 7:19am UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060/5 "2020-06-10T07:19:39Z")

</div>

Indeed it works now! Thank you!

Andrea

---

<div class="post-metadata">

**Author:** ![amjjbonvin](https://dub1.discourse-cdn.com/flex013/user_avatar/ask.bioexcel.eu/amjjbonvin/32/23_2.png) [@amjjbonvin](https://ask.bioexcel.eu/u/amjjbonvin)\
**Post date:** [June 10, 2020, 7:31am UTC](https://ask.bioexcel.eu/t/disvis-pyarray-xdecref-error/2060/6 "2020-06-10T07:31:06Z")

</div>

Perfect! 🙂
