# Compiling without Qt to run a parallel server on a GPU cluster.

**URL:** https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201
**Category:** ParaView Support
**Created:** [January 29, 2019, 3:45pm UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201 "2019-01-29T15:45:02Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![lukasWiel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/lukaswiel/32/6420_2.png) [@lukasWiel](https://discourse.paraview.org/u/lukasWiel)
#### Post date: [January 29, 2019, 3:45pm UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201/1 "2019-01-29T15:45:02Z")

</div>

Hello, experts and more experienced users.

I aim to get a server-client Paraview setup to work on our cluster, which has GPU nodes, so that the server makes use of GPUs in the nodes. The GPU nodes do not have a desktop environment, and no Qt, so I wish to enable offscreen rendering, with EGL. I have been following https://kitware.github.io/paraview-docs/latest/cxx/Offscreen.html to do so, but I keep running across several issues about which your input would be appreciated.

1. Following the website’s direction, I tried to configure with cmake:

cmake VTK\_USE\_X=OFF VTK\_OPENGL\_HAS\_EGL=ON Python3\_LIBRARY=/trinity/opt/apps/software/python/Python-3.7.2/libpython3.7m.a Python3\_INCLUDE\_DIR=/trinity/opt/apps/software/python/Python-3.7.2/Include …/paraview

But somehow the Python variables or their values are not recognized:

– Could NOT find Python3 (missing: Python3\_LIBRARY Python3\_INCLUDE\_DIR Development) (Required is at least version “3.2”)

From what happens in VTK/CMake/patches/3.13/FindPython3.cmake I do not really understand what header files and libraries it is looking for.

1. I have also tried configuring with ccmake, and turned off all the Qt options, into:

BUILD\_TESTING OFF  
CMAKE\_BUILD\_TYPE Debug  
CMAKE\_INSTALL\_PREFIX /trinity/opt/apps/gtecton/paraviewEGL/paraview  
PARAVIEW\_BUILD\_EXAMPLES ON  
PARAVIEW\_BUILD\_QT\_GUI OFF  
PARAVIEW\_BUILD\_SHARED\_LIBS ON  
PARAVIEW\_ENABLE\_CATALYST ON  
PARAVIEW\_ENABLE\_COMMANDLINE\_TO ON  
PARAVIEW\_ENABLE\_FFMPEG OFF  
PARAVIEW\_ENABLE\_NVPIPE OFF  
PARAVIEW\_ENABLE\_OPENTURNS OFF  
PARAVIEW\_ENABLE\_PYTHON ON  
PARAVIEW\_ENABLE\_QT\_SUPPORT OFF  
PARAVIEW\_ENABLE\_VISITBRIDGE OFF  
PARAVIEW\_ENABLE\_XDMF3 OFF  
PARAVIEW\_PLUGIN\_ENABLE\_Acceler ON  
PARAVIEW\_PLUGIN\_ENABLE\_AdiosRe OFF  
PARAVIEW\_PLUGIN\_ENABLE\_AdiosRe OFF  
PARAVIEW\_PLUGIN\_ENABLE\_Analyze OFF  
PARAVIEW\_PLUGIN\_ENABLE\_ArrowGl ON  
PARAVIEW\_PLUGIN\_ENABLE\_CDIRead ON  
PARAVIEW\_PLUGIN\_ENABLE\_Digital ON  
PARAVIEW\_PLUGIN\_ENABLE\_Embossi ON  
PARAVIEW\_PLUGIN\_ENABLE\_EyeDome ON  
PARAVIEW\_PLUGIN\_ENABLE\_GmshRea OFF  
PARAVIEW\_PLUGIN\_ENABLE\_InSituE OFF  
PARAVIEW\_PLUGIN\_ENABLE\_Moments ON  
PARAVIEW\_PLUGIN\_ENABLE\_MooseXf ON  
PARAVIEW\_PLUGIN\_ENABLE\_NetCDFT ON  
PARAVIEW\_PLUGIN\_ENABLE\_NonOrth ON  
PARAVIEW\_PLUGIN\_ENABLE\_Panoram ON  
PARAVIEW\_PLUGIN\_ENABLE\_SLACToo ON  
PARAVIEW\_PLUGIN\_ENABLE\_StreamL ON  
PARAVIEW\_PLUGIN\_ENABLE\_Streami ON  
PARAVIEW\_PLUGIN\_ENABLE\_Surface ON  
PARAVIEW\_PLUGIN\_ENABLE\_Thicken ON  
PARAVIEW\_PLUGIN\_ENABLE\_VDFRead OFF  
PARAVIEW\_PLUGIN\_ENABLE\_pvNVIDI ON  
PARAVIEW\_PYTHON\_VERSION 3  
PARAVIEW\_USE\_MPI ON  
PARAVIEW\_USE\_OSPRAY OFF  
PARAVIEW\_USE\_VTKM OFF  
VTK\_GROUP\_ENABLE\_ParaViewCore YES  
VTK\_GROUP\_ENABLE\_ParaViewQt NO  
VTK\_GROUP\_ENABLE\_ParaViewRende YES  
VTK\_GROUP\_ENABLE\_Qt NO  
VTK\_PYTHON\_VERSION 3  
VTK\_SMP\_IMPLEMENTATION\_TYPE OpenMP

But configuring with these options gives:

CMake Error at VTK/CMake/vtkModule.cmake:811 (message):  
The ParaView::pqApplicationComponents module requires the disabled module  
ParaView::pqComponents.  
Call Stack (most recent call first):  
CMakeLists.txt:519 (vtk\_module\_scan)

And I see no module pqComponents or anything looking like it in the ccmake list.

Moreover, CMakeLists.txt , line 282, says:

if (PARAVIEW\_BUILD\_QT\_GUI)  
list(APPEND paraview\_requested\_modules  
ParaView::Common  
ParaView::ServerManagerApplication  
ParaView::ServerManagerCore  
ParaView::ServerManagerDefault  
ParaView::pqApplicationComponents  
ParaView::pqComponents  
ParaView::pqCore)

So it seems that the option PARAVIEW\_BUILD\_QT\_GUI that I set to ‘OFF’ is not interpreted as such…

What I am doing wrong?

Thank you very much for your help!  
Lukas

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 29, 2019, 3:46pm UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201/2 "2019-01-29T15:46:51Z")

</div>

Hi Lukas,

Are you compiling master ?  
If yes, there is a big overhaul ongoing and I would recommend starting over with ParaView 5.6.0 sources.  
If no, which version are you using ?

---

<div class="post-metadata">

### Author: ![lukasWiel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/lukaswiel/32/6420_2.png) [@lukasWiel](https://discourse.paraview.org/u/lukasWiel)
#### Post date: [January 29, 2019, 3:54pm UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201/3 "2019-01-29T15:54:48Z")

</div>

Hi Mathieu,

I am compiling the code I got from  
git clone [https://gitlab.kitware.com/paraview/paraview.git](https://gitlab.kitware.com/paraview/paraview.git)  
following https://www.paraview.org/Wiki/ParaView:Build\_And\_Install#Download\_ParaView\_Source\_Code

I got it to compile with default and Qt stuff in, just to see if everything else worked, and it showed to be version 5.6.0.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 29, 2019, 4:03pm UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201/4 "2019-01-29T16:03:27Z")

</div>

This would indeed give you master, which as I said, is undergoing a big overhaul.  
I would recommend running the following command just after the git clone.

`git checkout v5.6.0`

---

<div class="post-metadata">

### Author: ![jfavre](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/b5ac83/32.png) [@jfavre](https://discourse.paraview.org/u/jfavre)
#### Post date: [January 29, 2019, 5:41pm UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201/5 "2019-01-29T17:41:20Z")

</div>

> [@lukasWiel](#):
>
> [ParaView: ParaView and Offscreen Rendering](https://kitware.github.io/paraview-docs/latest/cxx/Offscreen.html)

The correct syntax to create or update a cmake cache entry is `-D <var>:<type>=<value>, -D <var>=<value>`

so your command line should look like:  
cmake -DVTK\_USE\_X=OFF etc…

use -D in front of all options you want to pass to cmake

---

<div class="post-metadata">

### Author: ![lukasWiel](https://discourse.paraview.org/user_avatar/discourse.paraview.org/lukaswiel/32/6420_2.png) [@lukasWiel](https://discourse.paraview.org/u/lukasWiel)
#### Post date: [January 30, 2019, 8:51am UTC](https://discourse.paraview.org/t/compiling-without-qt-to-run-a-parallel-server-on-a-gpu-cluster/1201/6 "2019-01-30T08:51:07Z")

</div>

Thank you! With both your help combined I could cmake and make.

Not everything works yet. Still a `Server DISPLAY not accessible’, which the EGL should have fixed,

and an unexplained crash,ERROR: In [path]/Core/vtkSMSessionClient.cxx, line 792  
vtkSMSessionClient (0x5cde680): Server failed to gather information.

and

ERROR: In [PATH]/System/vtkSocket.cxx, line 567  
vtkClientSocket (0x403e000): Socket error in call to send. Broken pipe.

and some issues with fonts:

Fontconfig warning: “/etc/fonts/fonts.conf”, line 5: unknown element “description”  
Fontconfig warning: “/etc/fonts/conf.d/10-hinting-slight.conf”, line 4: unknown element “its:rules”  
Fontconfig warning: “/etc/fonts/conf.d/10-hinting-slight.conf”, line 5: unknown element “its:translateRule”  
Fontconfig error: “/etc/fonts/conf.d/10-hinting-slight.conf”, line 5: invalid attribute ‘translate’  
Fontconfig error: “/etc/fonts/conf.d/10-hinting-slight.conf”, line 5: invalid attribute ‘selector’  
Fontconfig error: “/etc/fonts/conf.d/10-hinting-slight.conf”, line 6: invalid attribute ‘xmlns:its’  
Fontconfig error: “/etc/fonts/conf.d/10-hinting-slight.conf”, line 6: invalid attribute ‘version’

Times many, beause Akira Tagoh commited something in fontsconfig without thinking about the consequences:

[https://cgit.freedesktop.org/fontconfig/commit/?id=9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f](https://cgit.freedesktop.org/fontconfig/commit/?id=9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f)

but I will puzzle on these myself for a bit, here, and see if i can find the missing pieces. Maybe they are related. The many joys of running a server-client setup of anything is first getting the two to communicate without ripping each other to shreds. 😉

Thanks again for you help 🙂
