ParaView_FOUND is set to FALSE

Hello,

I built paraview v5.7.0 on cori cluster, and when I compile my project by

find_package(ParaView 5.7 REQUIRED COMPONENTS Catalyst PythonCatalyst)

it shows that

CMake Error at CMakeLists.txt:5 (find_package):
  Found package configuration file:

    /global/cscratch1/sd/zw241/install_paraview/lib64/cmake/paraview-5.7/paraview-config.cmake

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

  Could not find the ParaView package with the following required components:
  PythonCatalyst.

Do you have some clues for solving this issue? Thanks a lot for your help!

Well, did you enable catalyst in your ParaView build ?

yes, I set the PARAVIEW_ENABLE_CATALYST as ON

maybe the problem is caused by the PythonCatalyst, I set the PARAVIEW_ENABLE_PYTHON and the PARAVIEW_USE_PYTHON as OFF when I built the paraview previously,

if I use find_package(ParaView 5.7 REQUIRED COMPONENTS Catalyst) , the error is sth like this

CMake Error at bin/CMakeLists.txt:4 (add_library):
  Target "CatalystMandelbulbAdaptor" links to target
  "ParaView::PythonCatalyst" but the target was not found.  Perhaps a
  find_package() call is missing for an IMPORTED target, or an ALIAS target
  is missing?

but when I set PARAVIEW_ENABLE_PYTHON as ON, I got error like this

CMake Error at VTK/CMake/vtkModule.cmake:3652 (message):
   Could not find the Python3 external dependency.
 Call Stack (most recent call first):
   VTK/Utilities/Python/CMakeLists.txt:44 (vtk_module_find_package)

I’m not sure which python related parameter is crucial for PythonCatalyst
Thanks!

I’m quite sure you can’t build Catalyst without python but I defer to @nicolas.vuaille and @utkarsh.ayachit

It seems that the python3 executable is not set properly on machine, it works now, thanks!

It is possible to build Catalyst without Python. In that case you cannot use python script and you should hardcode your pipeline.

But indeed, the target PythonCatalyst requires python …

1 Like

I’m not sure if it suitable to ask this thing here, it seems that the uuid is used somewhere in the Catalyst or PythonCatalyst
When I build my project by this way:

set(Adaptor_SRCS
    ${CMAKE_SOURCE_DIR}/src/InSituAdaptor.cpp
    )
add_library(CatalystMandelbulbAdaptor ${Adaptor_SRCS})
target_link_libraries(CatalystMandelbulbAdaptor ParaView::PythonCatalyst VTK::ParallelMPI VTK::CommonDataModel)

add_executable(Mandelbulb 
     ${CMAKE_SOURCE_DIR}/src/Mandelbulb.cpp)

target_link_libraries(Mandelbulb LINK_PRIVATE CatalystMandelbulbAdaptor)

There are errors like this

/usr/bin/ld: /usr/lib64/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0'
/usr/bin/ld: /usr/lib64/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0'

Then I try to add

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -luuid")

It is ok to build the project, but I got this error when I run it

/global/cscratch1/sd/zw241/build_mandelbulb/./bin/Mandelbulb: /global/common/cori_cle7/software/python/3.7-anaconda-2019.10/lib/libuuid.so.1: no version information available (required by /usr/lib64/libSM.so.6)

I solved it based on the stackoverflow answer, it seems that the libuuid in anaconda is not the suitable one, so I set export LD_LIBRARY_PATH=/usr/lib64/:$LD_LIBRARY_PATH to make it find the .so in /usr/lib64/ firstly