Plugin compilation fails due to "-lospray::ospray"
Paraview plugins cannot be compiled with Paraview 5.6 and ospray 1.8.5 due to a wrong linker flag (-lospray::ospray
). Logs for a repro case (attached) are below.
$ mkdir build
$ cd build/
$ cmake ..
-- The C compiler identification is GNU 9.1.0
-- The CXX compiler identification is GNU 9.1.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at /usr/lib64/cmake/paraview-5.6/ParaViewMacros.cmake:268 (message):
Valid QT_XMLPATTERNS_EXECUTABLE not specified.
Call Stack (most recent call first):
/usr/lib64/cmake/paraview-5.6/ParaViewPlugins.cmake:850 (generate_htmls_from_xmls)
CMakeLists.txt:4 (ADD_PARAVIEW_PLUGIN)
CMake Warning at /usr/lib64/cmake/paraview-5.6/ParaViewPlugins.cmake:884 (message):
GUI resource files in plugins are no longer supported. The same
functionality can be obtained using Hints in the Server Manager xml files.
See the Major API Changes document for details.
Call Stack (most recent call first):
CMakeLists.txt:4 (ADD_PARAVIEW_PLUGIN)
-- Configuring done
CMake Warning (dev) at /usr/lib64/cmake/paraview-5.6/ParaViewPlugins.cmake:995 (add_library):
Policy CMP0028 is not set: Double colon in target name means ALIAS or
IMPORTED target. Run "cmake --help-policy CMP0028" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
Target "MyReader" links to target "ospray::ospray" but the target was not
found. Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
Call Stack (most recent call first):
CMakeLists.txt:4 (ADD_PARAVIEW_PLUGIN)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /home/klinkovsky/stuff/cmake_ospray_test/build
$ make VERBOSE=99
/usr/bin/cmake -S/home/klinkovsky/stuff/cmake_ospray_test -B/home/klinkovsky/stuff/cmake_ospray_test/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles /home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
make -f CMakeFiles/MyReaderHierarchy.dir/build.make CMakeFiles/MyReaderHierarchy.dir/depend
make[2]: Entering directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
cd /home/klinkovsky/stuff/cmake_ospray_test/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/klinkovsky/stuff/cmake_ospray_test /home/klinkovsky/stuff/cmake_ospray_test /home/klinkovsky/stuff/cmake_ospray_test/build /home/klinkovsky/stuff/cmake_ospray_test/build /home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReaderHierarchy.dir/DependInfo.cmake --color=
Dependee "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReaderHierarchy.dir/DependInfo.cmake" is newer than depender "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReaderHierarchy.dir/depend.internal".
Dependee "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReaderHierarchy.dir/depend.internal".
Scanning dependencies of target MyReaderHierarchy
make[2]: Leaving directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
make -f CMakeFiles/MyReaderHierarchy.dir/build.make CMakeFiles/MyReaderHierarchy.dir/build
make[2]: Entering directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
[ 12%] For MyReader - updating MyReaderHierarchy.txt
/usr/bin/vtkWrapHierarchy-pv5.6 @MyReaderHierarchy..args -o /home/klinkovsky/stuff/cmake_ospray_test/build/MyReaderHierarchy.txt MyReaderHierarchy.data @MyReaderOtherHierarchyFiles.args
make[2]: Leaving directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
[ 12%] Built target MyReaderHierarchy
make -f CMakeFiles/MyReader.dir/build.make CMakeFiles/MyReader.dir/depend
make[2]: Entering directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
[ 37%] Generating vtkSMXML_MyReader.h
[ 37%] CS Wrapping - generating MyReaderClientServer.cxx
/usr/bin/vtkWrapClientServer-pv5.6 @/home/klinkovsky/stuff/cmake_ospray_test/build/MyReader.args -o /home/klinkovsky/stuff/cmake_ospray_test/build/MyReaderClientServer.cxx /home/klinkovsky/stuff/cmake_ospray_test/MyReader.h
/usr/bin/vtkkwProcessXML-pv5.6 /home/klinkovsky/stuff/cmake_ospray_test/build/vtkSMXML_MyReader.h "MyReader" "Interfaces" "Interfaces" /home/klinkovsky/stuff/cmake_ospray_test/MyReader.xml
-- Generate module: MyReader
cd /home/klinkovsky/stuff/cmake_ospray_test/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/klinkovsky/stuff/cmake_ospray_test /home/klinkovsky/stuff/cmake_ospray_test /home/klinkovsky/stuff/cmake_ospray_test/build /home/klinkovsky/stuff/cmake_ospray_test/build /home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReader.dir/DependInfo.cmake --color=
Dependee "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReader.dir/DependInfo.cmake" is newer than depender "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReader.dir/depend.internal".
Dependee "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/klinkovsky/stuff/cmake_ospray_test/build/CMakeFiles/MyReader.dir/depend.internal".
Scanning dependencies of target MyReader
make[2]: Leaving directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
make -f CMakeFiles/MyReader.dir/build.make CMakeFiles/MyReader.dir/build
make[2]: Entering directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
[ 50%] Building CXX object CMakeFiles/MyReader.dir/MyReader.cxx.o
/usr/bin/c++ -DMPICH_IGNORE_CXX_SEEK -DMyReader_EXPORTS -I/usr/include/eigen3 -I/usr/include/double-conversion -I/usr/include/python3.7m -I/usr/include/libxml2 -I/usr/include/freetype2 -I/home/klinkovsky/stuff/cmake_ospray_test -I/home/klinkovsky/stuff/cmake_ospray_test/build -isystem /usr/include/paraview-5.6 -isystem /usr/include/ospray -isystem /usr/include/ospray/SDK -fPIC -std=gnu++11 -o CMakeFiles/MyReader.dir/MyReader.cxx.o -c /home/klinkovsky/stuff/cmake_ospray_test/MyReader.cxx
[ 62%] Building CXX object CMakeFiles/MyReader.dir/MyReaderClientServer.cxx.o
/usr/bin/c++ -DMPICH_IGNORE_CXX_SEEK -DMyReader_EXPORTS -I/usr/include/eigen3 -I/usr/include/double-conversion -I/usr/include/python3.7m -I/usr/include/libxml2 -I/usr/include/freetype2 -I/home/klinkovsky/stuff/cmake_ospray_test -I/home/klinkovsky/stuff/cmake_ospray_test/build -isystem /usr/include/paraview-5.6 -isystem /usr/include/ospray -isystem /usr/include/ospray/SDK -fPIC -std=gnu++11 -o CMakeFiles/MyReader.dir/MyReaderClientServer.cxx.o -c /home/klinkovsky/stuff/cmake_ospray_test/build/MyReaderClientServer.cxx
[ 75%] Building CXX object CMakeFiles/MyReader.dir/MyReaderInit.cxx.o
/usr/bin/c++ -DMPICH_IGNORE_CXX_SEEK -DMyReader_EXPORTS -I/usr/include/eigen3 -I/usr/include/double-conversion -I/usr/include/python3.7m -I/usr/include/libxml2 -I/usr/include/freetype2 -I/home/klinkovsky/stuff/cmake_ospray_test -I/home/klinkovsky/stuff/cmake_ospray_test/build -isystem /usr/include/paraview-5.6 -isystem /usr/include/ospray -isystem /usr/include/ospray/SDK -fPIC -std=gnu++11 -o CMakeFiles/MyReader.dir/MyReaderInit.cxx.o -c /home/klinkovsky/stuff/cmake_ospray_test/build/MyReaderInit.cxx
[ 87%] Building CXX object CMakeFiles/MyReader.dir/MyReader_Plugin.cxx.o
/usr/bin/c++ -DMPICH_IGNORE_CXX_SEEK -DMyReader_EXPORTS -I/usr/include/eigen3 -I/usr/include/double-conversion -I/usr/include/python3.7m -I/usr/include/libxml2 -I/usr/include/freetype2 -I/home/klinkovsky/stuff/cmake_ospray_test -I/home/klinkovsky/stuff/cmake_ospray_test/build -isystem /usr/include/paraview-5.6 -isystem /usr/include/ospray -isystem /usr/include/ospray/SDK -fPIC -std=gnu++11 -o CMakeFiles/MyReader.dir/MyReader_Plugin.cxx.o -c /home/klinkovsky/stuff/cmake_ospray_test/build/MyReader_Plugin.cxx
/home/klinkovsky/stuff/cmake_ospray_test/MyReader.cxx: In member function ‘virtual int MyReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*)’:
/home/klinkovsky/stuff/cmake_ospray_test/MyReader.cxx:22:1: warning: no return statement in function returning non-void [-Wreturn-type]
22 | }
| ^
[100%] Linking CXX shared library libMyReader.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/MyReader.dir/link.txt --verbose=99
/usr/bin/c++ -fPIC -shared -Wl,-soname,libMyReader.so -o libMyReader.so CMakeFiles/MyReader.dir/MyReader.cxx.o CMakeFiles/MyReader.dir/MyReaderClientServer.cxx.o CMakeFiles/MyReader.dir/MyReaderInit.cxx.o CMakeFiles/MyReader.dir/MyReader_Plugin.cxx.o -Wl,-rpath,/usr/lib/openmpi /usr/lib/libvtkPVAnimation-pv5.6.so.1 /usr/lib/libvtkPVServerManagerDefault-pv5.6.so.1 /usr/lib/libvtkPVServerManagerApplicationCS-pv5.6.a /usr/lib/libvtkPVServerManagerRendering-pv5.6.so.1 /usr/lib/libvtkPVServerImplementationRendering-pv5.6.so.1 /usr/lib/libvtkPVClientServerCoreRendering-pv5.6.so.1 /usr/lib/libvtkDomainsChemistry-pv5.6.so.1 /usr/lib/libvtkRenderingLabel-pv5.6.so.1 /usr/lib/libvtkViewsContext2D-pv5.6.so.1 /usr/lib/libvtkViewsCore-pv5.6.so.1 /usr/lib/libvtkPVVTKExtensionsDefault-pv5.6.so.1 /usr/lib/libvtkFiltersParallelFlowPaths-pv5.6.so.1 /usr/lib/libvtkFiltersFlowPaths-pv5.6.so.1 /usr/lib/libvtkFiltersParallelStatistics-pv5.6.so.1 /usr/lib/libvtkIOEnSight-pv5.6.so.1 /usr/lib/libvtkIOImport-pv5.6.so.1 /usr/lib/libvtkIOMPIImage-pv5.6.so.1 /usr/lib/libvtkIOParallel-pv5.6.so.1 /usr/lib/libvtkIOGeometry-pv5.6.so.1 /usr/lib/libvtkIONetCDF-pv5.6.so.1 /usr/lib/libvtkIOParallelExodus-pv5.6.so.1 /usr/lib/libvtkIOExodus-pv5.6.so.1 /usr/lib/libvtkexodusII-pv5.6.so.1 /usr/lib/libvtkIOParallelXML-pv5.6.so.1 /usr/lib/libvtkPVVTKExtensionsRendering-pv5.6.so.1 /usr/lib/libvtkInteractionWidgets-pv5.6.so.1 /usr/lib/libvtkImagingSources-pv5.6.so.1 /usr/lib/libvtkRenderingOSPRay-pv5.6.so.1 /usr/lib/libvtkRenderingSceneGraph-pv5.6.so.1 -lospray::ospray /usr/lib/libvtkFiltersGeneric-pv5.6.so.1 /usr/lib/libvtkFiltersHyperTree-pv5.6.so.1 /usr/lib/libvtkFiltersParallelMPI-pv5.6.so.1 /usr/lib/libvtkIOExportOpenGL2-pv5.6.so.1 /usr/lib/libvtkIOExport-pv5.6.so.1 /usr/lib/libvtkRenderingGL2PSOpenGL2-pv5.6.so.1 /usr/lib/libvtkInteractionStyle-pv5.6.so.1 /usr/lib/libvtkRenderingAnnotation-pv5.6.so.1 /usr/lib/libvtkRenderingContextOpenGL2-pv5.6.so.1 /usr/lib/libvtkRenderingMatplotlib-pv5.6.so.1 /usr/lib/libvtkRenderingParallel-pv5.6.so.1 /usr/lib/libvtkRenderingVolumeAMR-pv5.6.so.1 /usr/lib/libvtkFiltersAMR-pv5.6.so.1 /usr/lib/libvtkRenderingVolumeOpenGL2-pv5.6.so.1 /usr/lib/libvtkRenderingOpenGL2-pv5.6.so.1 -lSM -lICE -lX11 -lXext -lXt /usr/lib/libvtkRenderingVolume-pv5.6.so.1 /usr/lib/libvtkImagingMath-pv5.6.so.1 -lGLEW /usr/lib/libIceTMPI.so /usr/lib/openmpi/libmpi.so /usr/lib/libIceTGL.so /usr/lib/libIceTCore.so -lm -lOpenGL -lGLX -lGLU /usr/lib/libvtkChartsCore-pv5.6.so.1 /usr/lib/libvtkRenderingContext2D-pv5.6.so.1 /usr/lib/libvtkRenderingFreeType-pv5.6.so.1 -lfreetype /usr/lib/libvtkIOXML-pv5.6.so.1 -lnetcdf /usr/lib/libvtkPVServerManagerApplication-pv5.6.so.1 /usr/lib/libvtkPVServerManagerCore-pv5.6.so.1 /usr/lib/libvtkPVServerImplementationCore-pv5.6.so.1 /usr/lib/libvtkPVClientServerCoreCore-pv5.6.so.1 /usr/lib/libvtkPVVTKExtensionsCore-pv5.6.so.1 /usr/lib/libvtkIOImage-pv5.6.so.1 /usr/lib/libvtkPVCommon-pv5.6.so.1 /usr/lib/libvtkIOXMLParser-pv5.6.so.1 /usr/lib/libvtkFiltersParallel-pv5.6.so.1 /usr/lib/libvtkFiltersExtraction-pv5.6.so.1 /usr/lib/libvtkFiltersStatistics-pv5.6.so.1 /usr/lib/libvtkImagingFourier-pv5.6.so.1 /usr/lib/libvtkImagingCore-pv5.6.so.1 /usr/lib/libvtkRenderingCore-pv5.6.so.1 /usr/lib/libvtkFiltersGeometry-pv5.6.so.1 /usr/lib/libvtkFiltersModeling-pv5.6.so.1 /usr/lib/libvtkFiltersSources-pv5.6.so.1 /usr/lib/libvtkFiltersGeneral-pv5.6.so.1 /usr/lib/libvtkFiltersCore-pv5.6.so.1 /usr/lib/libvtkCommonComputationalGeometry-pv5.6.so.1 /usr/lib/libvtkParallelMPI-pv5.6.so.1 /usr/lib/libvtkParallelCore-pv5.6.so.1 /usr/lib/libvtkIOLegacy-pv5.6.so.1 /usr/lib/libvtkIOCore-pv5.6.so.1 /usr/lib/libvtkFiltersProgrammable-pv5.6.so.1 /usr/lib/libvtkCommonExecutionModel-pv5.6.so.1 /usr/lib/libvtkCommonDataModel-pv5.6.so.1 /usr/lib/libvtkCommonSystem-pv5.6.so.1 /usr/lib/libvtkCommonTransforms-pv5.6.so.1 /usr/lib/libvtkPVVTKExtensionsSIL-pv5.6.so.1 -lprotobuf -lpthread -ljsoncpp /usr/lib/libvtkClientServer-pv5.6.so.1 /usr/lib/libvtkPythonInterpreter-pv5.6.so.1 -lpython3.7m /usr/lib/libvtkCommonMisc-pv5.6.so.1 /usr/lib/libvtkCommonMath-pv5.6.so.1 /usr/lib/libvtkWrappingPython37Core-pv5.6.so.1 /usr/lib/libvtkCommonCore-pv5.6.so.1 -ltbb /usr/lib/libvtksys-pv5.6.so.1 -ldl
/usr/bin/ld: cannot find -lospray::ospray
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/MyReader.dir/build.make:246: libMyReader.so] Error 1
make[2]: Leaving directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/MyReader.dir/all] Error 2
make[1]: Leaving directory '/home/klinkovsky/stuff/cmake_ospray_test/build'
make: *** [Makefile:84: all] Error 2