CMake io2d error missing CAIRO_INCLUDE_DIRS CAIRO_LIBRARIES - cmake

I'm trying to follow the steps on this link:https://github.com/cpp-io2d/P0267_RefImpl/blob/master/BUILDING.md
to install io2d.
However I get an error message after I write the cmake ..:
C:\Users\walid\Desktop\Udacity_Nanodegree\RoutePlanningProject\build>cmake ..
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18362.
CMake Error at CMakeLists.txt:15 (find_package):
By not providing "Findio2d.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "io2d", but
CMake did not find one.
Could not find a package configuration file provided by "io2d" with any of
the following names:
io2dConfig.cmake
io2d-config.cmake
Add the installation prefix of "io2d" to CMAKE_PREFIX_PATH or set
"io2d_DIR" to a directory containing one of the above files. If "io2d"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "C:/Users/walid/Desktop/Udacity_Nanodegree/RoutePlanningProject/build/CMakeFiles/CMakeOutput.log".
Therefore I found this suggestion On StackOverflow:
CMake third-party library installation
But I get a new error message here it is:
cmake --config Debug "-DCMAKE_BUILD_TYPE=Debug" ..
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18362.
Default IO2D backend was not specified, choosing automatically...
Found Windows, using CAIRO_WIN32.
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CMake Error at C:/CMake/cmake-3.17.3-win64-x64/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find Cairo (missing: CAIRO_INCLUDE_DIRS CAIRO_LIBRARIES)
Call Stack (most recent call first):
C:/CMake/cmake-3.17.3-win64-x64/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
cmake/FindCairo.cmake:102 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt:5 (find_package)
PS: I'm using Windows, I have CMake,Make,g++ and gcc installed.
Here is a screenshot demonstrating that I have Cairo already installed:

Related

Could NOT find Freetype (missing: FREETYPE_LIBRARY) on Cmake

I am trying build the Chlumsky msdfgen library on Windows and I'm using Cmake GUI. No matter what I do I can't get Cmake to configure properly. This library has Freetype as a dependency, and I set the include directories for Freetype, but I constantly get a message that it was not able to find Freetype. How does it know where to look for the Freetype libraries?
CMake Error at C:/Program
Files/CMake/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230
(message): Could NOT find Freetype (missing: FREETYPE_LIBRARY)
(found version "2.12.1")

Building OSRM on Ubuntu, CMake fails with "Intel TBB NOT found!" message

I am following this tutorial to build OSRM-backend from source.
When it says:
cd build
cmake /srv/osrm/osrm-backend/
I got this error message:
ERROR: Intel TBB NOT found!
-- Looked for Threading Building Blocks in /usr
CMake Error at cmake/FindTBB.cmake:274 (message):
Could NOT find TBB library.
Call Stack (most recent call first):
CMakeLists.txt:533 (find_package)
I have installed TBB:
sudo apt install -y libtbb
And it looks good:
/usr/lib/x86_64-linux-gnu/libtbb.so
/usr/lib/x86_64-linux-gnu/libtbb.so.2
(...)
But cmake fails.
I'd go to the file from the error message and see that it can't find the library at some default paths.
It means we have to help cmake a bit. At the beginning we can see that this module respects TBB_INSTALL_DIR. So I'd try setting it while configuring the project.
It's hard to find the solution, althought, it says, there're duplications:
This is a duplicate of #6248 and #6253. Building with
cmake -DENABLE_MASON=ON will fix it.
Surprisingly, on MacOS, there's a simple workaround:
brew install osrm-backend

Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)

I am trying to catkin_make in my catkin workspace, but I get the following error
CMake Deprecation Warning at gazebo_ros_demos/gazebo_tutorials/CMakeLists.txt:1
(cmake_minimum_required): Compatibility with CMake < 2.8.12 will be
removed from a future version of CMake.
Update the VERSION argument value or use a ... suffix to
tell CMake that the project does not need compatibility with older
versions.
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Found Boost: /usr/include (found suitable version "1.58.0", minimum required is "1.40.0") found components: thread signals system
filesystem program_options regex iostreams date_time chrono atomic
CMake Error at
/usr/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230
(message): Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:594
(_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.20/Modules/FindProtobuf.cmake:646
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
/usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:114
(FIND_PACKAGE) gazebo_ros_demos/gazebo_tutorials/CMakeLists.txt:11
(find_package)
-- Configuring incomplete, errors occurred! See also "/home/ashwin/catkin_ws/build/CMakeFiles/CMakeOutput.log". See also
"/home/ashwin/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:5582: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1 Invoking "make
cmake_check_build_system" failed
This issue came up when I tried to update my cmake to 3.20. I am fairly new to Ubuntu. Would appreciate any help.
I have encountered the same issue (on ubuntu 18.04). Installing the following packages resolved the issue for me:
sudo apt-get install libprotobuf-dev protobuf-compiler
These are similar to the packages mentioned by K.S., but with those packages I got the same error as Ashwin mentioned in the comments on K.S.'s answer.

Problem with WEBP and LENSFUN when installing 'darktable' from source using cmake

I'm trying to install darktable from source. To this end,
I downloaded darktable-2.4.4.tar.xz from here. After unpacking I try to build it with
sudo ./build.sh
I get the following errors:
(...)
-- Checking for one of the modules 'libsoup-2.2;libsoup2'
-- Could NOT find WEBP (missing: WEBP_LIBRARY WEBP_INCLUDE_DIR) (Required is at least version "0.3.0")
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find LENSFUN (missing: LENSFUN_LIBRARY LENSFUN_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindLensFun.cmake:37 (find_package_handle_standard_args)
src/CMakeLists.txt:286 (find_package)
However, both WEBP and LENSFUN are installed.
sudo apt-get install webp
Reading package lists... Done
Building dependency tree
Reading state information... Done
webp is already the newest version (0.6.1-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
LENSFUN was installed from source.
It's worth mentioning build.sh uses cmake.
What can I do to solve these problems?

Could not find CMake package configuration file for "Eigen3"

When I enter this command:
cd /Users/mona/ros_catkin_ws/build_isolated/pcl_ros && /Users/mona/ros_catkin_ws/install_isolated/env.sh cmake /Users/mona/ros_catkin_ws/src/perception_pcl/pcl_ros -DCATKIN_DEVEL_PREFIX=/Users/mona/ros_catkin_ws/devel_isolated/pcl_ros -DCMAKE_INSTALL_PREFIX=/Users/mona/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -G 'Unix Makefiles'
I receive this error:
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- thread
CMake Error at CMakeLists.txt:7 (find_package):
By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Eigen3", but
CMake did not find one.
Could not find a package configuration file provided by "Eigen3" with any
of the following names:
Eigen3Config.cmake
eigen3-config.cmake
Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
"Eigen3_DIR" to a directory containing one of the above files. If "Eigen3"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "/Users/mona/ros_catkin_ws/build_isolated/pcl_ros/CMakeFiles/CMakeOutput.log".
This command is ran as part of running this command for installing ROS:
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
Any idea how that could be fixed?
Please see more details of question here: http://answers.ros.org/question/215080/how-to-add-the-installation-prefix-of-eigen3-to-cmake_prefix_path-or-set-eigen3_dir-to-a-directory-containing-one-of-the-above-files/
For linux users, this may help like it did for me: just install the developers' package of the eigen3 lib by the following command.
sudo apt install libeigen3-dev
You have to install Eigen3. It provides the FindEigen3.cmake file. The error occurs because the project you want to configure, has a dependency to Eigen3.
If you have Eigen3 installed, follow the error message and add Eigen3 to CMake's search path.