Hi, the flags used to specify the Python interpreter to CMake don’t seem to be working for me at the moment - or maybe I’m missing something. I want to compile a PV install to use a specific Python interpreter and environment but the system Python keeps getting picked up instead.
but again, on running cmake -C../testenv.cmake -GNinja ../paraview, I get a message during the build: -- Found Python3: /usr/lib64/libpython3.6m.so (found suitable version "3.6", minimum required is "3.2") found components: Development
Is this a bug? Thanks.
However, it now picks up the Anaconda environment’s QT, even though the CMakeCache.txt appears to reference the QT under /usr/lib64/cmake/Qt5 - this is apparent when trying to run ./bin/paraview:
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by ./bin/paraview)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libpqApplicationComponents-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libpqComponents-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libpqPython-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libpqCore-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libpqWidgets-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libvtkqttesting-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /opt/paraview/ParaView-5.8.1_testenv/bin/../lib64/libvtkGUISupportQt-pv5.8.so.1)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12' not found (required by /lib64/libQt5Network.so.5)
./bin/paraview: /home/tjim/anaconda3/envs/testenv/lib/libQt5Core.so.5: version `Qt_5.12.5_PRIVATE_API' not found (required by /lib64/libQt5Network.so.5)
I tried setting the QT directories directly using extra flags (below) but I had the same issue.
Any ideas of how to set the QT paths independently of the Python paths? Perhaps someone who knows their way around cmake or Paraview’s usage of it? Thanks!
There is no way to do this if the Python and Qt libraries live next to each other. If you want just the Python ones and different Qt libraries, you’ll have to make a new environment without the Qt libraries.
Hi Ben, thanks for the update and clarification. I figured that this might have been the case. In the end, I uninstalled QT from my conda python environment just for the Paraview installation and then rolled back my conda environment afterwards, to stop PV linking to the python QT - a bit of a pain but it worked.
The order in which libraries are located is a bit of a mystery to me; it was half a year ago now, so Idon’t really remember, but I thought I could solve the issue by letting the PV just use the conda env’s QT but something didn’t work back then.
On Linux, search paths are generally shared between all library lookups. If you have:
A/libX.so
A/libY.so
B/libX.so
B/libY.so
the priority order for directories is shared when looking for both libX.so and libY.so, so there is no way to order these directories in such a way that A/libX.so and B/libY.so are selected at runtime.