Hi all,
I’m facing a link problem when i try to build ParaView when the option PARAVIEW_BUILD_TESTING is on.
When it is OFF, ParaView build successfully.
The errors arise when compiling some of the test modules of the VTKExtensions such as IOCGNS.
The error message is the following:
FAILED: bin/vtkPVVTKExtensionsIOCGNSWriterCxxTests
: && /usr/bin/c++ -O2 -g -DNDEBUG -Wl,-lc -Wl,-lc VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/vtkPVVTKExtensionsIOCGNSWriterCxxTests.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestPartitionedDataSetCollection2.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestStructuredGrid.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestUnstructuredGrid.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestPartitionedDataSet.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestPartitionedDataSetCollection.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestPolydata.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestPolyhedral.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestCellAndPointData.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestMultiBlockDataSet.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestMappedUnstructuredGrid.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestTimeWriting.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestRectilinearGrid.cxx.o VTKExtensions/IOCGNS/Testing/Cxx/CMakeFiles/vtkPVVTKExtensionsIOCGNSWriterCxxTests.dir/TestImageData.cxx.o -o bin/vtkPVVTKExtensionsIOCGNSWriterCxxTests -Wl,-rpath,/opt/paraview_build/lib:/usr/lib/x86_64-linux-gnu/openmpi/lib:/usr/lib/x86_64-linux-gnu/hdf5/serial lib/libvtkTestingDataModel-pv5.12.so.5.12 lib/libvtkIOIOSS-pv5.12.so.5.12 lib/libvtkPVCoreKit-pv5.12.so.5.12 /usr/lib/x86_64-linux-gnu/libexpat.so lib/libvtkParallel-pv5.12.so.5.12 lib/libvtkIO-pv5.12.so.5.12 lib/libvtkFilters-pv5.12.so.5.12 lib/libvtkverdict-pv5.12.so.5.12 /usr/lib/x86_64-linux-gnu/libpugixml.so.1.13 lib/libvtkCommon-pv5.12.so.5.12 lib/libvtksys-pv5.12.so.5.12 lib/libvtktoken-pv5.12.so.5.12 lib/libvtkloguru-pv5.12.so.5.12 lib/libvtkkissfft-pv5.12.so.5.12 /usr/lib/x86_64-linux-gnu/libdouble-conversion.so /usr/lib/x86_64-linux-gnu/liblz4.so /usr/lib/x86_64-linux-gnu/liblzma.so /usr/lib/x86_64-linux-gnu/libz.so lib/libvtkcgns-pv5.12.so.5.12 lib/libvtkfmt-pv5.12.so.5.12 /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.so -ldl -Wl,-rpath-link,/opt/paraview_build/lib:/usr/lib/x86_64-linux-gnu/hdf5/serial && :
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyUnicode_InternFromString'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyDict_DelItemString'
/usr/bin/ld: /opt/paraview_build/lib/libvtkPythonInterpreter-pv5.12.so.1: undefined reference to `_Py_Dealloc'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyByteArray_AsString'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyLong_FromLong'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyExc_KeyError'
/usr/bin/ld: /opt/paraview_build/lib/libvtkPythonInterpreter-pv5.12.so.1: undefined reference to `PyStatus_Exception'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyExc_NotImplementedError'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyByteArray_Type'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyNumber_Absolute'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyDescr_NewClassMethod'
/usr/bin/ld: /opt/paraview_build/lib/libvtkPythonInterpreter-pv5.12.so.1: undefined reference to `PyType_IsSubtype'
/usr/bin/ld: /opt/paraview_build/lib/libvtkWrappingPythonCore3.11-pv5.12.so.1: undefined reference to `PyErr_Fetch'
/usr/bin/ld: /opt/paraview_build/lib/libvtkPythonInterpreter-pv5.12.so.1: undefined reference to `Py_PreInitialize'
...
collect2: error: ld returned 1 exit status
I have made a reproducer through the following Dockerfile
Dockerfile (2.8 KB)
When built, run the container and in the /opt/paraview_build just run cmake --build ..
I found a hack to workaround. It is to add a dependency to ParaView::RemotingApplication in the TEST_DEPENDS section of the vtk.module files involved.
Should i open an issue on gitlab?
Thanks in advance