Unable to build from source on Ubuntu 18.04

Is anyone aware of issues building Slicer from source with the following error on Ubuntu 18.04 (and PopOS)?

/home/aames/projects/Slicer/Modules/Loadable/Markups/MRML/vtkMRMLMarkupsCurveNode.cxx:31:10: fatal error: vtkFrenetSerretFrame.h: No such file or directory
#include <vtkFrenetSerretFrame.h>
^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Modules/Loadable/Markups/MRML/CMakeFiles/vtkSlicerMarkupsModuleMRML.dir/build.make:148: recipe for target ‘Modules/Loadable/Markups/MRML/CMakeFiles/vtkSlicerMarkupsModuleMRML.dir/vtkMRMLMarkupsCurveNode.cxx.o’ failed

vtkFrenetSerretFrame comes from a VTK remote module, which should be downloaded automatically to (slicer-build-dir)/VTK/Remote/SplineDrivenImageSlicer.

I have discovered this text in the build scripts:

Module_SplineDrivenImageSlicer:BOOL=ON

I wonder if my local build of Slicer master branch (HEAD) is using an incompatible VTK.

Shouldn’t that cmake var be the following?

VTK_MODULE_ENABLE_VTK_SplineDrivenImageSlicer:STRING=WANT

Are you trying to build Slicer with an externally built VTK?

It is using an internal VTK. The other VTK headers are being included from Slicer/.build/VTK/…

The .build folder is my cmake build folder. When I git status that VTK folder, I get:

HEAD detached at 73e89e85c4

Has Slicer built VTK as part of the superbuild process?

That appears to be the case. I can find all of the VTK libs here:

Slicer/.build/VTK-build/lib/libvtk******

I loosely followed these instructions: https://discourse.slicer.org/t/building-slicer-on-a-freshly-installed-ubuntu-18-04/5627

In summary:

sudo apt install qtcreator qtdeclarative5-dev qtmultimedia5-dev qtbase5-private-dev libqt5xmlpatterns5-dev libqt5svg5-dev libqt5webenginewidgets5 qtwebengine5-dev qtscript5-dev qttools5-dev libxt-dev libqt5x11extras5-dev
sudo apt install git cmake
git clone --recursive https://github.com/Slicer/Slicer.git
cd Slicer
mkdir .build
cd .build
cmake -DQt5_DIR=/usr/lib/qt5 -DCMAKE_BUILD_TYPE:STRING=Debug -DSlicer_USE_PYTHONQT_WITH_TCL:BOOL=OFF -DSlicer_USE_SimpleITK:BOOL=OFF -DSlicer_USE_QtTesting:BOOL=OFF -DSlicer_BUILD_DataStore:BOOL=OFF -DSlicer_USE_SYSTEM_QT:BOOL=1 …/
make

I also applied the workaround at the bottom of that thread for fixing the system curl and OpenSSL.

Thank you so much for your time.

1 Like

Is this the latest master version of Slicer? Have you started the build from scratch or you have built some Slicer version first and then updated Slicer and rebuilt?