Missing Configuration Options in CMake Interface (ccmake)

Dear all,

I’m currently setting up OpenGeoSys (OGS) and running into an issue when I run ccmake.
I was following the tutorials on the OGS website (https://www.opengeosys.org/docs/tutorials/advancing-glacier/), in particular part 2: solving (https://youtu.be/GL5sugIyHEk). Check out 00:01:55.
The list of configuration options appears to be incomplete. I noticed that there are much more variables in the list (in the tutorial), in comparison to when I run cmake with GUI myself.
I expected to see more OGS-specific settings (like OGS-PROCESS-HT or any other variables starting with OGS-PROCESS-), but the displayed variables are mostly general CMake settings like compilers and linker flags.
Could it be related to cloning, an incorrect source directory, or a problem with my CMake configuration?

For reference:
I cloned the OGS repository and created a build directory. Then in the ‘build’ directory I ran:
cmake …

Any insights or suggestions on how to get the full set of OGS CMake configuration options would be greatly appreciated!

I would be happy to provide more info if that could be helpful to get to the bottom of this :slight_smile:

Dear AP76,

it seems to me that the video tutorial is not 100% in line with our developer guide. Sorry for the inconvenience.

Please follow our written build instructions very closely. They should bring you through the build process.

Essentially, in the source directory run cmake --preset release. Then the following should give you a complete list of configuration options:

ccmake ../build/release

If there’s something missing from that list, note that ccmake by default hides advanced settings. You can show them by pressing the t key while in ccmake.

That should solve the problem that you asked about. But it’s not the final step of the OGS build.

I hope that helps.

Best regards,
Christoph

Hello Christoph,

Thank you for the clarification. I’m currently using debian. I followed the written build instructions ( and also made sure to setup the prerequisites).
Essentially it seems like that I have access to a broader range of variables in the cmake GUI now, including the OGS-BUILD-PROCESS variables such as:
OGS_BUILD_PROCESS_ComponentTra ON
OGS_BUILD_PROCESS_HT ON
OGS_BUILD_PROCESS_HeatConducti ON
OGS_BUILD_PROCESS_HeatTranspor ON
OGS_BUILD_PROCESS_HydroMechani ON
OGS_BUILD_PROCESS_LIE_HM ON
OGS_BUILD_PROCESS_LIE_M ON
OGS_BUILD_PROCESS_LiquidFlow ON

and so on …

But I encounter another issue when running cmake with a preset using cmake --preset release:
After setting up the compiler (build-essential),Cmake, Ninja, Python3 and also getting the source code, I proceeded to the build configuration step.
However, when configuring with a preset, I see the following error:

CMake Error at scripts/cmake/BuildExternalProject.cmake:12 (find_package):
Could not find a package configuration file provided by “VTK” with any of
the following names:

VTKConfig.cmake
vtk-config.cmake

Add the installation prefix of “VTK” to CMAKE_PREFIX_PATH or set “VTK_DIR”
to a directory containing one of the above files. If “VTK” provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
scripts/cmake/BuildExternalProject.cmake:132 (BuildExternalProject_find_package)
scripts/cmake/DependenciesExternalProject.cmake:491 (BuildExternalProject)
CMakeLists.txt:85 (include)

I think cmake is trying to find VTK (Visualization Toolkit), but it cannot locate it on my system.
This issue leads to an error when I want to configure the configuration list after using ccmake:

Configure failed with the following output

By not providing “FindVTK.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “VTK”, but
CMake did not find one.

Could not find a package configuration file provided by “VTK” (requested
version 9.3.0) with any of the following names:

 VTKConfig.cmake
 vtk-config.cmake

Add the installation prefix of “VTK” to CMAKE_PREFIX_PATH or set “VTK_DIR”
to a directory containing one of the above files. If “VTK” provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:85 (include)

Maybe it is helpful to mention something regarding the installation of CMake:
I had it installed already and when I proceeded to run sudo apt install cmake, I see this:
cmake is already the newest version (3.25.1-1).
0 upgraded, 0 newly installed, 0 to remove and 84 not upgraded.

Kind regards,

OK, so do you have VTK installed on your system?

If not, please try that.

Indeed, we do not mention VTK as a prerequisite in the developer guide.
A complication is that installing VTK is optional. OGS can build it if you pass -DOGS_BUILD_VTK=ON to cmake initially:

cmake --preset release -DOGS_BUILD_VTK=ON

If you don’t have VTK installed you can try to make the OGS build process build it. Or is it installed and just not found?

Best regards,
Christoph

I think the problem is with finding the VTK directory and also two specific files:

  • VTKConfig.cmake
  • vtk-config.cmake

When installing VTK I also encountered this warning:

libvtk9.1 is already the newest version (9.1.0+really9.1.0+dfsg2-5).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
python3-paraview : Conflicts: python3-vtk9 but 9.1.0+really9.1.0+dfsg2-5 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

There seems to be a conflict between paraview and vtk

Unfortunately inconsistent systems or conflicting Linux packages is something we can hardly account for on our side. There are so many ways systems can become inconsistent and there are so many different Linux distributions. It’s impossible for us to add hints/guidance in our docs or in OGS’s build scripts.

The possible options I see at the moment are:

  1. Try cmake --preset release -DOGS_BUILD_VTK=ON if you have not done so, yet.
  2. Get your OS back to a clean state (re-installation? If that’s an option for you)
  3. If you only want to run OGS pip install ogs might be enough for you.

Good luck!

Best regards,
Christoph

@AP76 OGS has an automated system which install dependencies into the build directory (or into CPM_SOURCE_CACHE if you configured that. When something goes wrong, it is shown on the first run only, so please delete the build directory (or cpm cache) and reconfigure with cmake. Then send us the complete CMake configure log.