5.6.2 build undefined reference on Power9 machine with xl compiler
@utkarsh.ayachit @cory.quammen
ParaView version: v5.6.2
CMake version: 3.18.2
Compiler: ibm xlc 16.1.1.7, xlf 16.1.1.7, gcc 9.3.0, cuda-11.0
MPI: spectrum-mpi 10.3.0.1
Python: 3.7.8
CMake options: -DPARAVIEW_BUILD_QT_GUI:BOOL=OFF -DVTK_OPENGL_HAS_OSMESA:BOOL=ON -DVTK_USE_X:BOOL=OFF -DVTK_RENDERING_BACKEND:STRING=OpenGL2 -DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DVTK_USE_SYSTEM_FREETYPE:BOOL=ON -DVTK_USE_SYSTEM_HDF5:BOOL=ON -DVTK_USE_SYSTEM_JPEG:BOOL=ON -DVTK_USE_SYSTEM_LIBXML2:BOOL=ON -DVTK_USE_SYSTEM_NETCDF:BOOL=ON -DVTK_USE_SYSTEM_EXPAT:BOOL=ON -DVTK_USE_SYSTEM_TIFF:BOOL=ON -DVTK_USE_SYSTEM_ZLIB:BOOL=ON -DVTK_USE_SYSTEM_PNG:BOOL=ON -DOpenGL_GL_PREFERENCE:STRING=LEGACY -DPARAVIEW_ENABLE_PYTHON:BOOL=ON -DVTK_USE_SYSTEM_MPI4PY:BOOL=ON -DVTK_PYTHON_VERSION:STRING=3 -DPARAVIEW_USE_MPI:BOOL=ON -DPARAVIEW_BUILD_SHARED_LIBS:BOOL=ON -DPARAVIEW_USE_CUDA:BOOL=OFF -DVTK_ENABLE_KITS:BOOL=ON
With Kits enabled, the build gets to about 70% and fails during linking with:
../lib/libvtkParallel-pv5.6.so.1: undefined reference to
`std::allocator<char>::operator=(std::allocator<char> const&)'
After disabling Kits, two libraries have this error:
libvtkFiltersParallelDIY2-pv5.6.so.1
libvtkAcceleratorsVTKm-pv5.6.so.1
This can be worked around be disabling DIY2 and VTKm. Disable VTKm with -DPARAVIEW_USE_VTKM:BOOL=OFF
. Disabled DIY2 with:
diff -up ParaView-v5.6.2/CMake/VTKModules.cmake ParaView-v5.6.2/CMake/VTKModules.cmake
--- ParaView-v5.6.2/CMake/VTKModules.cmake
+++ ParaView-v5.6.2/CMake/VTKModules.cmake
@@ -35,7 +35,7 @@ if (UNIX AND PARAVIEW_ENABLE_COSMOTOOLS)
)
endif()
-if (NOT WIN32)
+if (NOT True)
list(APPEND _vtk_mpi_modules
vtkFiltersParallelDIY2
)