VTK with python bindings fails to build (Python 3.7; QT5)
I am trying to get VTK (8.1.1) compiled and running as backend for mayavi on archlinux with the following packages:
ninja 1.8.2 cmake 3.11.4 gcc 8.2.0 python 3.7.0 qt 5.11.1
I am running into the following compilation error:
[32/13025] Building CXX object Wrapping/PythonCore/CMakeFiles/vtkWrappingPythonCore.dir/vtkPythonArgs.cxx.o
FAILED: Wrapping/PythonCore/CMakeFiles/vtkWrappingPythonCore.dir/vtkPythonArgs.cxx.o /usr/bin/c++ -DVTK_IN_VTK -DvtkWrappingPythonCore_EXPORTS -I/path/to/VTK-8.1.1/Utilities -IWrapping/PythonCore -I/path/to/VTK-8.1.1/Wrapping/PythonCore -ICommon/Core -I/path/to/VTK-8.1.1/Common/Core -IUtilities/KWIML -I/path/to/VTK-8.1.1/Utilities/KWIML -IUtilities/KWSys -I/path/to/VTK-8.1.1/Utilities/KWSys -IUtilities/Python -I/path/to/VTK-8.1.1/Utilities/Python -I/usr/include/python3.7m -IWrapping/Tools -I/path/to/VTK-8.1.1/Wrapping/Tools -D__STDC_CONSTANT_MACROS -O3 -DNDEBUG -fPIC -fvisibility=hidden -std=c++11 -MD -MT Wrapping/PythonCore/CMakeFiles/vtkWrappingPythonCore.dir/vtkPythonArgs.cxx.o -MF Wrapping/PythonCore/CMakeFiles/vtkWrappingPythonCore.dir/vtkPythonArgs.cxx.o.d -o Wrapping/PythonCore/CMakeFiles/vtkWrappingPythonCore.dir/vtkPythonArgs.cxx.o -c /path/to/VTK-8.1.1/Wrapping/PythonCore/vtkPythonArgs.cxx
/path/to/VTK-8.1.1/Wrapping/PythonCore/vtkPythonArgs.cxx: In instantiation of ‘bool vtkPythonGetStringValue(PyObject*, T*&, const char*) [with T = char; PyObject = _object]’:
/path/to/VTK-8.1.1/Wrapping/PythonCore/vtkPythonArgs.cxx:311:66: required from here
/path/to/VTK-8.1.1/Wrapping/PythonCore/vtkPythonArgs.cxx:105:25: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
a = PyUnicode_AsUTF8(o);
It seems there is a problem with an implicit type conversion / type mismatch. My cmake command is
cmake -Wno-dev -DCMAKE_SKIP_RPATH=ON -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr -DBUILD_DOCUMENTATION:BOOL=ON -DDOCUMENTATION_HTML_HELP:BOOL=OFF -DDOCUMENTATION_HTML_TARZ:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DVTK_USE_FFMPEG_ENCODER:BOOL=ON -DVTK_BUILD_ALL_MODULES:BOOL=ON -DVTK_USE_LARGE_DATA:BOOL=OFF -DVTK_QT_VERSION:STRING="5" -DVTK_WRAP_JAVA:BOOL=OFF -DVTK_WRAP_PYTHON:BOOL=ON -DVTK_PYTHON_VERSION="3" -DVTK_WRAP_TCL:BOOL=ON -DVTK_USE_SYSTEM_GL2PS=OFF -DCMAKE_CXX_FLAGS="-D__STDC_CONSTANT_MACROS" -DVTK_CUSTOM_LIBRARY_SUFFIX="" -DVTK_INSTALL_INCLUDE_DIR:PATH=include/vtk -DVTK_INSTALL_TCL_DIR=/usr/lib/tcl${_tkver}/vtk/ -DBUILD_TESTING:BOOL=OFF ${cmake_system_flags} -DCMAKE_BUILD_TYPE=Release "${srcdir}/VTK-$pkgver" -GNinja