When CMake is run Conan will download library packages. You can see under
Requirements in the CMake output from where the packages will be downloaded. Most packages will come
$ cmake ../ogs ... -- Conan executing: conan install . -g cmake -s build_type=Release -s os=Macos -s compiler=apple-clang -s compiler.version=9.0 -s compiler.libcxx=libc++ --build=missing --update PROJECT: Installing /Users/bilke/code/ogs6/build-n/conanfile.txt Requirements Boost/1.64.0@conan/stable from conan-community Eigen3/3.2.9@bilke/stable from ogs Qt/5.9.2@osechet/stable from ogs Shapelib/1.3.0@bilke/stable from ogs VTK/7.1.0@bilke/stable from ogs libgeotiff/1.4.2@bilke/stable from ogs libtiff/4.0.6@bilke/stable from ogs proj/4.9.2@bilke/stable from ogs zlib/1.2.11@conan/stable from conan-center
You can always delete the Conan cache directory in
$HOME/.conan to start fresh. This can fix errors.
~/.conan/settings.yml it is defined which compiler versions are supported by Conan on your machine. Unfortunately (and this is also a bit inconvenient) this file is not updated automatically when upgrading Conan. Three possible ways to fix it:
~/.conan/settings.new.ymlor similar which you can just rename to
cmake-run output looks similar to this:
$ cmake .. ... Running: sudo -A yum update -y sudo: no askpass program specified, try setting SUDO_ASKPASS ... ERROR: Error in system requirements ...
sudo -v before your
cmake-command. This will ask you for your password to let Conan install some system packages during the
On Ubuntu always use the system default gcc version! Otherwise if you use a newer compiler than the default you may end up using incompatible Conan packages. E.g. when you use gcc 6 on Ubuntu 16.04 (where gcc 5 is the default) Conan uses packages which are built on Ubuntu 17.10 (where gcc 6 is the default). Ubuntu 17.10 uses a newer glibc library (2.25) which is incompatible to the glibc library on Ubuntu 16.04 (2.23).
In this case you would get linker errors with the Conan VTK library:
error: undefined reference to `getrandom' .../expat/vtkexpat/lib/xmlparse.c 694
If you still want to use your OS / compiler combination you can build the VTK Conan package on your machine. Run this one time:
cmake . -DOGS_CONAN_BUILD=vtk