# Building Paraview on GPU free server

**URL:** https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278
**Category:** ParaView Support
**Tags:** opengl
**Created:** [January 6, 2020, 3:42pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278 "2020-01-06T15:42:20Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![begou](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/74df32/32.png) [@begou](https://discourse.paraview.org/u/begou)
#### Post date: [January 6, 2020, 3:42pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/1 "2020-01-06T15:42:20Z")

</div>

Hi Paraview users and happy new year!

Starting with 2020 I try to build paraview on a server without any GPU and running CentOS7. I found this tutorial [https://www.paraview.org/Wiki/ParaView/ParaView\_And\_Mesa\_3D](https://www.paraview.org/Wiki/ParaView/ParaView_And_Mesa_3D) but it seams very old and I’m not able to found mesa 13.x . Latest mesa is 19.x and building the osmesa library is completely different, using meson instead of configure.  
Did some one build paraview with OSMesa and can provide some tutorial ? I’ve built llvm (the recomended 3.9.1 version of the tutorial and the latest 9.0.1 version) buts with OSMesa…I’m sttuck!  
Thanks all  
Patrick

---

<div class="post-metadata">

### Author: ![danlipsa](https://discourse.paraview.org/user_avatar/discourse.paraview.org/danlipsa/32/1563_2.png) [@danlipsa](https://discourse.paraview.org/u/danlipsa)
#### Post date: [January 6, 2020, 4:02pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/2 "2020-01-06T16:02:17Z")

</div>

Patrick,  
On linux you can use spack to build paraview + osmesa. I used the following command to recently build it. Note that spack will build all dependent libraries, so the process will take a longer time.

spack install paraview@develop+python3+mpi+osmesa~opengl2

---

<div class="post-metadata">

### Author: ![Dave\_DeMarle](https://discourse.paraview.org/user_avatar/discourse.paraview.org/dave_demarle/32/27_2.png) [@Dave\_DeMarle](https://discourse.paraview.org/u/Dave_DeMarle)
#### Post date: [January 6, 2020, 4:52pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/3 "2020-01-06T16:52:55Z")

</div>

An alternative to the SPACK path that Dan recommends, is to build osmesa via the [paraview superbuild](https://gitlab.kitware.com/paraview/paraview-superbuild). The version we build is a year or so out of date with current mesa because we have yet to transition over mesa’s autotools-\>meson change but it will get you a production ready gpu-less paraview installation.

If you are constrained to building ParaView directly, it is still worthwhile to follow how the superbuild project builds osmesa, since the source is much more up to date than the wiki documentation.

---

<div class="post-metadata">

### Author: ![begou](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/74df32/32.png) [@begou](https://discourse.paraview.org/u/begou)
#### Post date: [January 6, 2020, 5:08pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/4 "2020-01-06T17:08:35Z")

</div>

Thanks Dan and Dave for these suggestions. At this time I’m testing spack but it seams that the software installed by this way is in the spack subtree and I need a system wide setup for all the users (I’m a sys admin). Is spack an alternative to nix tool ?

I will look at paraview superbuild too and try to setup mesa, building OSmesa is always one of the most difficult step in deploying Paraview on GPU free servers. 😕

---

<div class="post-metadata">

### Author: ![begou](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/74df32/32.png) [@begou](https://discourse.paraview.org/u/begou)
#### Post date: [January 7, 2020, 11:45am UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/5 "2020-01-07T11:45:27Z")

</div>

I was not able to use Spack as I got some conflicts with several gcc compiler version in Python modules… So I switch to paraview superbuild but again I had some troubles.  
I’m using v5.7.0-RC4

1. Download problem: paraview-superbuild try to download paraview from [http://www.paraview.org/files/v5.7/ParaView-v5.7.0-RC4.tar.xz](http://www.paraview.org/files/v5.7/ParaView-v5.7.0-RC4.tar.xz) but this file does not exist. The correct URL is [https://www.paraview.org/files/v5.7/RCs/ParaView-v5.7.0-RC4.tar.xz](https://www.paraview.org/files/v5.7/RCs/ParaView-v5.7.0-RC4.tar.xz) (with **RCs** subdirectory added). So I modify build/superbuild/paraview/stamp/download-paraview.cmake to correct this.

2. now I have a problem with HDF5, compiled by paraview-superbuild. The HDF5\_ROOT is properly set but is ignored by cmake and HDF5 is not detected when building Paraview.

> CMake variable HDF5\_ROOT is set to:
> 
> ```
> /home/begou/PARAVIEW/build/install
> 
> ```
> 
> For compatibility, CMake is ignoring the variable.  
> This warning is for project developers. Use -Wno-dev to suppress it.
> 
> – HDF5: Using hdf5 compiler wrapper to determine C configuration  
> CMake Error at /usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:137 (message):  
> Could NOT find HDF5 (missing: HDF5\_HL\_LIBRARIES)

Is there a way to solve this easily? This problem also broke netcdf build (I have disabled it).

Thanks  
Patrick

---

<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 7, 2020, 11:54am UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/6 "2020-01-07T11:54:33Z")

</div>

Why would you use an RC ? use v5.7.0 instead.

---

<div class="post-metadata">

### Author: ![begou](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/74df32/32.png) [@begou](https://discourse.paraview.org/u/begou)
#### Post date: [January 7, 2020, 5:17pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/7 "2020-01-07T17:17:15Z")

</div>

Just a bad idea from me, Mathieu ! I went back to the master branch today and try to build Paraview. I would like to have pvserver and the paraview client on this server, even if it has no GPU, because I will use it for a workshop session outside of the lab in a few weeks. I ran:

> cmake3 \  
> -DCMAKE\_INSTALL\_PREFIX=/opt/paraview/GCC7/v5.7 \  
> -DENABLE\_ffmpeg=ON \  
> -DENABLE\_fortran=ON \  
> -DENABLE\_llvm=ON \  
> -DENABLE\_mpi=ON \  
> -DENABLE\_netcdf=OFF \  
> -DENABLE\_osmesa=OFF \  
> -DENABLE\_png=ON \  
> -DENABLE\_xdmf3=ON \  
> -DCMAKE\_VERBOSE\_MAKEFILE=ON \  
> -DUSE\_SYSTEM\_mpi=ON \  
> -DUSE\_SYSTEM\_python3=ON \  
> -DENABLE\_python3=ON \  
> -DENABLE\_mesa=ON \  
> -DENABLE\_qt5=ON \  
> …/paraview-superbuild

and all seams to run fine for the requiered libs. But building Paraview goes in error with:

> gmake[5]: Entering directory `/robin/data/begou/PARAVIEW/build/superbuild/paraview/build' //usr/lib64/libSM.so.6: undefined reference to `uuid\_generate@UUID\_1.0’  
> //usr/lib64/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0' collect2: error: ld returned 1 exit status gmake[5]: *** [bin/pvrenderserver] Error 1 gmake[5]: Leaving directory `/robin/data/begou/PARAVIEW/build/superbuild/paraview/build’  
> gmake[4]: \*\*\* [CommandLineExecutables/CMakeFiles/pvrenderserver.dir/all] Error 2

I saw the thread [PV-compilation problems with libSM and uuid](https://discourse.paraview.org/t/pv-compilation-problems-with-libsm-and-uuid/884) but it did not help me solving this new problem.

---

<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 8, 2020, 9:31am UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/8 "2020-01-08T09:31:58Z")

</div>

@ben.boeckel

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [January 14, 2020, 3:33pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/9 "2020-01-14T15:33:19Z")

</div>

> [@begou](#):
>
> gmake[5]: Entering directory `/robin/data/begou/PARAVIEW/build/superbuild/paraview/build' //usr/lib64/libSM.so.6: undefined reference to ` uuid\_generate@UUID\_1.0’

Something is wrong with the Ubuntu X packages and linker behaviors that causes this. It’s seen occasionally, but many people have no issues. I haven’t been able to fix it or figure out what the root cause is so far 😕 .

---

<div class="post-metadata">

### Author: ![begou](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/74df32/32.png) [@begou](https://discourse.paraview.org/u/begou)
#### Post date: [January 14, 2020, 8:05pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/10 "2020-01-14T20:05:14Z")

</div>

Hi Ben,  
I’m not using Ubuntu, but an up to date CentOS7 distro.  
Actualy I have partialy solved the need to have paraview running on this server with a manual install of paraview 5.4 (and an old Mesa version 17.x) using an old procedure based on many advices received on this forum. It runs!  
But i will enjoy to build the latest paraview version using superbuild setup…

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [January 14, 2020, 10:10pm UTC](https://discourse.paraview.org/t/building-paraview-on-gpu-free-server/3278/11 "2020-01-14T22:10:57Z")

</div>

Oh, that’s news to me. We use centos 7 to build our binaries, but it may not be fully up-to-date. We are using devtoolset-7 though in cast that helps.
