FS#53670 - [mayavi] Incompatible with VTK

Attached to Project: Community Packages
Opened by jeremie (nivata) - Friday, 14 April 2017, 16:21 GMT
Last edited by Andrzej Giniewicz (Giniu) - Monday, 17 July 2017, 22:43 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Andrzej Giniewicz (Giniu)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Package versions:

* community/mayavi 4.5.0-4
* community/vtk6 6.3.0-5
* community/vtk 7.1.1-1


Description:

I cannot get Mayavi to work at all, and it doesn't play well with vtk 7. First, if I run the following command from a python2 console:

from tvtk.api import tvtk

I get either a segfault (see attachment) if vtk 7 in installed, or the following message if vtk 7 is not installed:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/tvtk/api.py", line 11, in <module>
from tvtk.tvtk_access import tvtk
File "/usr/lib/python2.7/site-packages/tvtk/tvtk_access.py", line 43, in <module>
raise ImportError(msg)
ImportError: No module named vtk
________________________________________________________________________________
Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org


Not that in both cases, vtk6 is installed (as it is a dependency of mayavi).


Moreover, no matter whether vtk 7 is installed or not, I cannot start mayavi2, as I get the following error:

Traceback (most recent call last):
File "/usr/bin/mayavi2", line 11, in <module>
load_entry_point('mayavi==4.5.0', 'gui_scripts', 'mayavi2')()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 560, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2648, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2302, in load
return self.resolve()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2308, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/lib/python2.7/site-packages/mayavi/scripts/mayavi2.py", line 460, in <module>
raise ImportError(msg)
ImportError: /usr/lib/openmpi/libmpi_cxx.so.1: undefined symbol: ompi_mpi_real
________________________________________________________________________________
Do you have vtk installed properly?
VTK (and build instructions) can be obtained from http://www.vtk.org



I also can't get 'import vtk' to work even without mayavi installed, but that probably warrants another bug report.
This task depends upon

Closed by  Andrzej Giniewicz (Giniu)
Monday, 17 July 2017, 22:43 GMT
Reason for closing:  Won't fix
Additional comments about closing:  We will move to vtk anyway.
Comment by David Thurstenson (thurstylark) - Friday, 14 April 2017, 16:32 GMT
Looks like libmpi_cxx.so is provided by extra/openmpi. Is openmpi installed?
Comment by jeremie (nivata) - Friday, 14 April 2017, 16:37 GMT
Yes it is (openmpi is a required dependency of mayavi):

> locate libmpi_cxx.so
/usr/lib/openmpi/libmpi_cxx.so
/usr/lib/openmpi/libmpi_cxx.so.1
/usr/lib/openmpi/libmpi_cxx.so.1.1.3
Comment by David Thurstenson (thurstylark) - Friday, 14 April 2017, 16:44 GMT
What about python2-mpi4py? Those are both optional dependencies, not required.

Edit: Misspoke. I was looking at the deps for vtk and vtk6. On mayavi, openmpi is indeed a required dep, but python2-mpi4py is not. python2-mpi4py is an optdep of vtk and vtk6.
Comment by jeremie (nivata) - Friday, 14 April 2017, 16:51 GMT
Still getting the same message with python2-mpi4py (undefined symbol: ompi_mpi_real).
Comment by jeremie (nivata) - Friday, 14 April 2017, 21:14 GMT
For what it's worth, I've found the cause of the `undefined symbol: ompi_mpi_real` mesasge. It was coming from the AUR package `intel-mpi` which was installed on my system. Removing it allows me to launch mayavi again.

However, the first error message (`import tvtk.api` in a `python2` console) still persists. I think this one is due to an incompatibility when both vtk6 and vtk7 are present on the system (looks very similar to #49882).
Comment by Andrzej Giniewicz (Giniu) - Monday, 17 July 2017, 22:43 GMT
yes, it seems to be conflict between two installed vtk versions.

Loading...