DOLFIN demos fails to run in dev-env container
Maybe this is a bug in DOLFIN, but I get the following error when running the Poisson demo in the dev-env container:
Solving linear variational problem.
Generic Warning: In /build/buildd/vtk6-6.0.0/Rendering/Core/vtkTextMapper.cxx, line 21
Error: no override found for 'vtkTextMapper'.
Segmentation fault
The error can be reproduced by first starting the dev-env Docker container:
docker run -t -i fenicsproject/dev-env
Then, Inside the Docker container, run:
$ update_fenics
$ python build/share/dolfin/demo/documented/poisson/python/demo_poisson.py
The same error happens for the C++ demo.
Comments (7)
-
-
reporter I found that is was working if I replaced the part for finding VTK in
CMakeLists.txt
, that isfind_package(VTK HINTS ${VTK_DIR} $ENV{VTK_DIR} COMPONENTS vtkViewsCore vtkRenderingCore vtkRenderingLabel vtkFiltersTexture vtkRenderingOpenGL NO_MODULE)
with this:
find_package(VTK HINTS ${VTK_DIR} $ENV{VTK_DIR} NO_MODULE)
After a bit more digging, I found that the missing component was
vtkRenderingFreeTypeOpenGL
.@garth-wells: Is it okay if I just add this in
CMakeLists.txt
andUseDOLFIN.cmake.in
and push to master?diff --git a/CMakeLists.txt b/CMakeLists.txt index df08b62..5480add 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -587,6 +587,7 @@ endif() if (DOLFIN_ENABLE_VTK) find_package(VTK HINTS ${VTK_DIR} $ENV{VTK_DIR} COMPONENTS vtkViewsCore vtkRenderingCore vtkRenderingLabel vtkFiltersTexture vtkRenderingOpenGL + vtkRenderingFreeTypeOpenGL NO_MODULE) set(VTK_VERSION "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}") if (VTK_FOUND) diff --git a/cmake/templates/UseDOLFIN.cmake.in b/cmake/templates/UseDOLFIN.cmake.in index e6f7276..136818e 100644 --- a/cmake/templates/UseDOLFIN.cmake.in +++ b/cmake/templates/UseDOLFIN.cmake.in @@ -14,6 +14,7 @@ if (NOT DOLFIN_USE_FILE_INCLUDED) if (@VTK_FOUND@) find_package(VTK HINTS ${VTK_DIR} $ENV{VTK_DIR} COMPONENTS vtkViewsCore vtkRenderingCore vtkRenderingLabel vtkFiltersTexture vtkRenderingOpenGL + vtkRenderingFreeTypeOpenGL NO_MODULE QUIET) if (VTK_FOUND) include(${VTK_USE_FILE})
-
@johannes_ring Looks good to me, so go ahead and push.
We used to import all VTK modules which is huge. I largely had to guess to figure out which modules we actually needed.
-
reporter Yes, it is difficult to know which modules are needed. I had to try a few times before I found the missing module.
-
reporter - changed status to resolved
Fixed in DOLFIN (0bd93e).
-
- changed status to open
-
reporter - changed status to resolved
The fix in ad2565 (in DOLFIN) works with the VTK package (version 6.0.0) in Ubuntu 14.04.
- Log in to comment
I get this too, even with
export DOLFIN_NOPLOT=1
.On other remote systems with X, the failure is less than elegant.
The VTK version (6.0) is rather old now.