Installation FAQ

Here is a list of some frequently asked questions regarding the installation of Dune.

My System does not provide the required minimal compiler version. Where can I find updates?

This heavily depends on your system. For Debian/Ubuntu based Linux distributions, sources are:

Follow the instruction on the referenced pages.

How can I update my system CMake version?

Similar to the compilers, it depends on your distribution:

My dune packages are located in different directories. How can I find them using dunecontrol?

The dunecontrol script searches in the current directory and all its subdirectories for files name dune.module. Those files contain the information about the corresponding dune module and its dependencies. Additionally, dunecontrol searches in all directories (and subdirectories of those) listed in the variable DUNE_CONTROL_PATH. Similarly to the PATH variable, directories are separated by colon :.

You can either prefix the call of dunecontrol to individually specify the search paths, i.e.,

DUNE_CONTROL_PATH=path/to/module1:/path/to/module2 dunecontrol [...] COMMAND

or you can put this path information into an options file, next to the other options like CMAKE_FLAGS or MAKE_FLAGS.

The Python bindings are based on the pybind11 library. Besides allowing to call C++ code from Python, pybind11 can also embed Python code in your Dune C++ application. Follow the pybind11 instructions to see how this is done. However, you cannot link against pybind11::embed in CMake, but you have to link to the Python library manually:

if(DUNE_ENABLE_PYTHONBINDINGS)
  add_executable("application" application.cc)
  target_link_dune_default_libraries("application")
  target_link_libraries("application" PRIVATE Python3::Python)
 endif()

Note that the Python bindings for Dune C++ types can also be used in an embedded Python context.

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 20, 23:25, 2024)