SENSEI-insitu / SENSEI

SENSEI ∙ Scalable in situ analysis and visualization

Home Page:https://sensei-insitu.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sVTK is referenced but missing

jwindgassen opened this issue · comments

We're trying to include SENSEI v4.0.0 in CMake using find_package(SENSEI REQUIRED), but CMake will crash every time:

CMake Error at config/sensei.cmake:2 (find_package):
  Found package configuration file:

    /p/home/jusers/windgassen1/juwels/Nek/SENSEI/out/lib64/cmake/SENSEIConfig.cmake

  but it set SENSEI_FOUND to FALSE so package "SENSEI" is considered to be
  NOT FOUND.  Reason given by package:

  The following imported targets are referenced, but are missing: sVTK

Call Stack (most recent call first):
  CMakeLists.txt:171 (include)

We could not find any immediate culprit, so we have no real idea where and why this happens.

Complete corresponding CMake output:

-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found CURL: /p/software/juwelsbooster/stages/2022/software/cURL/7.78.0-GCCcore-11.2.0/lib/libcurl.so (found version "7.78.0")  
-- Found Embree v3.13.2: /p/software/juwelsbooster/stages/2022/software/Embree/3.13.2-GCC-11.2.0/lib64/libembree3.so.3.13.2
-- Looking for TBB components tbb;tbbmalloc; ()
-- Found TBB version 2020.3 at /p/software/juwelsbooster/stages/2022/software/tbb/2020.3-GCCcore-11.2.0
-- Found Open VKL v1.1.0: /p/software/juwelsbooster/stages/2022/software/openvkl/1.1.0-GCC-11.2.0/lib64/libopenvkl.so.1.1.0
-- Found OSPRay: /p/software/juwelsbooster/stages/2022/software/OSPRay/2.8.0-gpsmpi-2021b
-- Found Python3: /p/software/juwelsbooster/stages/2022/software/Python/3.9.6-GCCcore-11.2.0/bin/python3.9 (found version "3.9.6") found components: Interpreter 
-- Found mpi4py: /p/software/juwelsbooster/stages/2022/software/mpi4py/3.1.3-gpsmpi-2021b/lib/python3.9/site-packages/mpi4py/include  
-- Found LibXml2: /p/software/juwelsbooster/stages/2022/software/libxml2/2.9.10-GCCcore-11.2.0/lib/libxml2.so (found version "2.9.10") 
-- Found Boost: /p/software/juwelsbooster/stages/2022/software/Boost/1.78.0-GCCcore-11.2.0/lib64/cmake/Boost-1.78.0/BoostConfig.cmake (found suitable exact version "1.78.0")  
-- Found FFMPEG: /p/software/juwelsbooster/stages/2022/software/FFmpeg/4.4.1-GCCcore-11.2.0/include (found suitable version "4.4.1", minimum required is "4.4") found components: avformat avcodec avutil swscale 
-- Found ZLIB: /p/software/juwelsbooster/stages/2022/software/zlib/1.2.11-GCCcore-11.2.0/lib/libz.so (found version "1.2.11") 
-- Found PNG: /p/software/juwelsbooster/stages/2022/software/libpng/1.6.37-GCCcore-11.2.0/lib/libpng.so (found version "1.6.37") 
-- Found NetCDF: /p/software/juwelsbooster/stages/2022/software/netCDF/4.8.1-gpsmpi-2021b/include (found version "4.8.1") 
-- Found HDF5: /p/software/juwelsbooster/stages/2022/software/HDF5/1.12.1-gpsmpi-2021b/lib/libhdf5.so;/p/software/juwelsbooster/stages/2022/software/Szip/2.1.1-GCCcore-11.2.0/lib/libsz.so;/p/software/juwelsbooster/stages/2022/software/zlib/1.2.11-GCCcore-11.2.0/lib/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so;/usr/lib64/libm.so;/usr/lib64/libpthread.so (found version "1.12.1") found components: C HL 
-- Found X11: /p/software/juwelsbooster/stages/2022/software/X11/20210802-GCCcore-11.2.0/include   
-- Looking for XOpenDisplay in /p/software/juwelsbooster/stages/2022/software/X11/20210802-GCCcore-11.2.0/lib/libX11.so;/p/software/juwelsbooster/stages/2022/software/X11/20210802-GCCcore-11.2.0/lib/libXext.so
-- Looking for XOpenDisplay in /p/software/juwelsbooster/stages/2022/software/X11/20210802-GCCcore-11.2.0/lib/libX11.so;/p/software/juwelsbooster/stages/2022/software/X11/20210802-GCCcore-11.2.0/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found Eigen3: /p/software/juwelsbooster/stages/2022/software/Eigen/3.3.9-GCCcore-11.2.0/include (found version "3.3.9") 
-- Found MPI: TRUE  found components: C 
-- Found OpenGL: /p/software/juwelsbooster/stages/2022/software/OpenGL/2021b-GCCcore-11.2.0/lib/libOpenGL.so  found components: OpenGL GLX 
-- Found Python3: /p/software/juwelsbooster/stages/2022/software/Python/3.9.6-GCCcore-11.2.0/bin/python3.9 (found suitable version "3.9.6", minimum required is "3.9") found components: Interpreter Development.Module Development.Embed 
-- Found EXPAT: /p/software/juwelsbooster/stages/2022/software/expat/2.4.1-GCCcore-11.2.0/lib/libexpat.so (found version "2.4.1") 
-- Found double-conversion: /p/software/juwelsbooster/stages/2022/software/double-conversion/3.1.6-GCCcore-11.2.0/lib/libdouble-conversion.so  
-- Found JPEG: /p/software/juwelsbooster/stages/2022/software/libjpeg-turbo/2.1.1-GCCcore-11.2.0/lib/libjpeg.so (found version "80") 
-- Found TIFF: /p/software/juwelsbooster/stages/2022/software/LibTIFF/4.3.0-GCCcore-11.2.0/lib/libtiff.so (found version "4.3.0")  
-- Found Freetype: /p/software/juwelsbooster/stages/2022/software/freetype/2.11.0-GCCcore-11.2.0/lib/libfreetype.so (found version "2.11.0") 
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP_Fortran: -fopenmp (found version "4.5") 
-- Found MPI: TRUE (found version "3.1")  
-- Found ADIOS2: /p/software/juwelsbooster/stages/2022/software/ADIOS2/2.7.1-gpsmkl-2021b/lib64/cmake/adios2/adios2-config.cmake (found version "2.7.1") found components: C CXX Fortran MPI 
CMake Error at config/sensei.cmake:2 (find_package):
  Found package configuration file:

    /p/home/jusers/windgassen1/juwels/Nek/SENSEI/out/lib64/cmake/SENSEIConfig.cmake

  but it set SENSEI_FOUND to FALSE so package "SENSEI" is considered to be
  NOT FOUND.  Reason given by package:

  The following imported targets are referenced, but are missing: sVTK

Call Stack (most recent call first):
  CMakeLists.txt:171 (include)

CMake Arguments we used for SENSEI:

-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_SENSEI:BOOL=ON -DSENSEI_VERSION:STRING=%(version)s -DENABLE_PYTHON:BOOL=ON -DENABLE_VTK_GENERIC_ARRAYS:BOOL=ON -DENABLE_CATALYST:BOOL=ON -DENABLE_CATALYST_PYTHON:BOOL=ON -DENABLE_ASCENT:BOOL=OFF -DENABLE_ADIOS1:BOOL=OFF -DENABLE_ADIOS2:BOOL=ON -DENABLE_CONDUIT:BOOL=OFF  -DENABLE_HDF5:BOOL=OFF -DENABLE_LIBSIM:BOOL=OFF -DENABLE_VTK_IO:BOOL=ON -DENABLE_VTK_MPI:BOOL=ON -DENABLE_VTK_RENDERING:BOOL=ON -DENABLE_VTK_ACCELERATORS:BOOL=OFF -DENABLE_VTK_FILTERS:BOOL=ON -DENABLE_VTKM:BOOL=OFF -DENABLE_VTKM_RENDERING:BOOL=OFF -DENABLE_OSCILLATORS:BOOL=ON -DENABLE_MANDELBROT:BOOL=ON -DENABLE_CONDUITTEST:BOOL=OFF -DENABLE_KRIPKE:BOOL=OFF -DENABLE_VORTEX:BOOL=OFF -DENABLE_PROFILER:BOOL=OFF -DENABLE_OPTS:BOOL=ON -Dembree_DIR=${EBROOTEMBREE}/lib64/cmake/embree-3.13.2 -Dospray_DIR=${EBROOTOSPRAY}/lib64/cmake/ospray-2.8.0 -DParaView_DIR=${EBROOTPARAVIEW}/lib64/cmake/paraview-5.10 -DADIOS_DIR=${EBROOTADIOS2} -DMPI4PY_INCLUDE_DIR=${EBROOTMPI4PY}/lib/python3.9/site-packages/mpi4py/include/

CMake Version: 3.21.1

Appreciate the issue report, and sorry for the inconvenience.

This issue has been fixed on the develop branch. We will issue a 4.0.1 bug fix release before the end of the year.

In the mean time, one could work around this particular issue on the v4.0.0 release by explicitly telling CMake where to find SVTK in the install via the variable svtk_DIR on the command line. For example something like the following worked for me on the v4.0.0 tag

SENSEI_PREFIX=/opt/sensei/4.0.0/lib64/cmake
cmake  -DSENSEI_DIR=${SENSEI_PREIX} -Dsvtk_DIR=${SENSEI PREFIX}/svtk-9.0/ ...

Unfortunately, the workaround did not fix it, but switching to develop did!

CMake now executes without any problems, but we still experience errors when building: gmake[2]: *** No rule to make target '/p/usersoftware/swmanage/goebbert1/stage2022/ParaView/easybuild/juwelsbooster/software/sensei/develop-gpsmkl-2021b-adios2-catalyst-5.10.1/lib64/cmake/sensei/../../lib64/python-3.9/site-packages//sensei//_PythonAnalysis.so', needed by 'libnekrs.so'. Stop.

It seems, that there is a missing ../ in some path, that might have been forgotten when the CMake files were moved to lib64/cmake/sensei. The Path now contains lib64/lib64.
I couldn't find any notion for the malformed path in the CMake of the program we are trying to compile (nekRS), so I am unsure, if this might be an issue in SENSEI

OK, the python path is incorrect. Looks like your suggestion will fix it. @kwryankrattiger are there any other paths that should be updated after #80?

Fixed via #94 in v4.1.0