How to skip dependency with vcpkg? - c++

I am trying to install cgal with vcpkg and getting an error that mpfr dependency can't be installed, because it's site is unavailable. Can I skip this dependency?
Additional packages (*) will be modified to complete this operation.
Starting package 1/88: mpfr:x86-windows
Building package mpfr[core]:x86-windows...
-- Downloading http://www.mpfr.org/mpfr-4.0.2/mpfr-4.0.2.tar.xz...
-- Downloading http://www.mpfr.org/mpfr-4.0.2/mpfr-4.0.2.tar.xz... Failed. Status: 7;"Couldn't connect to server"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:175 (message):
Failed to download file.
If you use a proxy, please set the HTTPS_PROXY and HTTP_PROXY environment
variables to "https://user:password#your-proxy-ip-address:port/".
Otherwise, please submit an issue at https://github.com/Microsoft/vcpkg/issues

One can control the dependencies with Build-Depends field in the CONTROL file. In your case ports\cgal\CONTROL
For more information; https://github.com/microsoft/vcpkg/blob/master/docs/maintainers/control-files.md#control-files
However you you remove this dependency most probable you won't manage to build cgal

Related

Migrating C++ code from ROS1 to ROS2 - How to use C++ serial library in ROS2?

I am migrating a package from ROS1 to ROS2. It is a motor controller driver so it communicates over USB and uses the 'serial' C++ library. I have seen other ROS2 C++ drivers similar to this one use the serial library, but am wondering how to fix this error when building:
CMake Error at CMakeLists.txt:26 (find_package):
By not providing "Findserial.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "serial", but
CMake did not find one.
Could not find a package configuration file provided by "serial" with any
of the following names:
serialConfig.cmake
serial-config.cmake
Add the installation prefix of "serial" to CMAKE_PREFIX_PATH or set
"serial_DIR" to a directory containing one of the above files. If "serial"
provides a separate development package or SDK, be sure it has been
installed.
---
Failed <<<
I include the header #include <serial/serial.h> In my file and find_package(serial REQUIRED) in CMakeLists.txt. Is there something I'm missing for this to work? This is on a fresh install, do I need to install anything? Thanks
In ROS1, you can simply use apt-get install ros-noetic-serial. This doesn't work on ROS2. When I run colcon build, I got the error above.

Can not find some dependencies while building dremio-oss

https://github.com/dremio/dremio-oss/blob/master/pom.xml
After I clone the project,I try to build the project, but some dependencies are not found .How to find these dependencies,such as
the project accquire calicte:4.0.0-20210722102535-bda216e83f-dremio,which can not find in mavencenter
Any help?
I tried building dremio-oss on Windows the other day and there were no problems with resolving dependencies. You should include more information from the build log. You can also try using the "-U" option to force checking remote repositories which is useful if your local repository cache is out of date. Your error message also doesn't make sense since the correct version for Calcite is this one: https://github.com/dremio/dremio-oss/blob/master/pom.xml#L46

gRPC for C++ on Windows, dependencies

This is going to be a little long of an introduction, but I think it i neccessary for you to understand what I've already tried.
I am currently trying to set up a gRPC Client with C++, after i already set up a Server and Client in Python with no problem. However for C++ the building of gRPC is just evil. With the resources form the offivial git repository I was able to build gRPC (or so i thought) but when I then tried to build my project with Cmake i got an error that the gRPCTargets.cmake is missing. Tracing this back I found that I had to build gRPC itself with all the dependencies as packages instead of submodules. So I started by downloading C-Ares and building it. No Problem here. Next I tried reconfiguring gRPC with the new c-ares directory variable set and type package set. Now i encountered a Problem that the in c-ares-config.cmake an include directory is specified which does not exist at all.
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
macro(set_and_check _var _file)
set(${_var} "${_file}")
if(NOT EXISTS "${_file}")
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
endif()
endmacro()
set_and_check(c-ares_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include")
include("${CMAKE_CURRENT_LIST_DIR}/c-ares-targets.cmake")
For me the Path with /../../../ doesn't make any sense but since it's automatically generated and I am pretty much a noob using Cmake I cannot say what would be correct there. All i know is that there is no folder named include inside any of the c-ares folders. I tried removing the set_and_check(...) line, which removes the error, but now I am asked for a c-ares-targets.cmake which cannot be found.
I am pretty much stuck here. I would highly appreciate any help or ideas fixing this.
Maybe there is an option of getting a precompiled gRPC-resource for C++ on windows, but was unable to find any sources.

How to build Evaluation Metrics Project from CETUS Challenge?

CETUS is an open challenge on 3D echocardiography Segmentation. The goal is to segment some part of the volume of data provided for the challenge. To measure how successful you have been on segmentation, a package is provided by the challenge which needs VTK (Visualization Toolkit) to be contained in the project to be built.
I downloaded VTK-8.1.1 and compiled it using cmake and visual studio 12 and added the path project_directory/bin/release/ to windows 7 path environment variable.
When I try to configure challenge measurement project by cmake, it returns an error:
CMake Error at CMakeLists.txt:30 (FIND_PACKAGE):
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" 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.
Configuring incomplete, errors occurred!
See also "C:/Users/MJ/Desktop/EvaluationMetrics/EvaluationMetrics/build_dir/CMakeFiles/CMakeOutput.log".
I don't know whether I should modify configurations in cmake for VTK, or perhaps the VTK I've downloaded is not a full version!
Can anyone help me to build measurement metrics project?

CMake + find package or check out and install

I just switched to CMake. And yet found it very useful and realized some simple apps and libs.
Somewhere I read that it's possible to query git to checkout repositories from within cmake scripts.
I'd like to check for the existence of a package with my Find(package).cmake
If it doesn't exist i'd like to initiate a checkout and add the new directory to the cmake script as subdirectory.
That way all my dependencies will get installed automatically.
Does somebody know how to accomplish this idea? Thank you!
Bye, Arthur
You're probably thinking about the ExternalProject module added in CMake 2.8. It's documented at http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject with an intro to it at page 14 of http://www.kitware.com/products/archive/kitware_quarterly1009.pdf. It allows you checkout/download a project and build it automatically.
I would try to find the package with find_package and if the package_FOUND variable is not set you have to call git manually with execute_process. If the source already contains a CMakeLists.txt simply add it by using add_subdirectory otherwise you have to write your own CMake instructions to build that package first.