ros / resource_retriever

Package used to retrieve resources of different kinds, e.g. http://, file://, the ROS specific package://, etc.
8 stars 42 forks source link

Issues with libcurl_vendor #70

Closed felrock closed 2 years ago

felrock commented 2 years ago

I'm building resource_retriever for arm64 in a docker build stage, the image has curl and other libs that are needed but i get the following error message from colcon

--- stderr: resource_retriever
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (libcurl_vendor).  This can
  lead to problems in calling code that expects `find_package` result
  variables (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
  /opt/ros/foxy/install/share/libcurl_vendor/cmake/libcurl_vendor-extras.cmake:21 (include)
  /opt/ros/foxy/install/share/libcurl_vendor/cmake/libcurl_vendorConfig.cmake:41 (include)
  CMakeLists.txt:16 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
library_abs
    linked by target "resource_retriever" in directory /opt/ros/foxy/src/resource_retriever/resource_retriever

CMake Generate step failed.  Build files cannot be regenerated correctly.
---
Failed   <<< resource_retriever [1min 1s, exited with code 1]

I have cmake 3.22.1 and curl 7.58.0 installed. I made a simple CMake project to test and it did not work to use libcurl_vendor to find_package, however using CURL worked.

Any ideas for, I could do a fork and change to CURL but then i can't use rosinstall stuff.

clalancette commented 2 years ago

I'm actually wondering if you are missing pkg-config in your setup. That is one of the required dependencies of libcurl_vendor. Can you confirm that you have that installed in your docker image?

felrock commented 2 years ago

I do have pkg-config, version 0.29.1

clalancette commented 2 years ago

Hm, sorry, I don't really have any good ideas then. We do build arm64 nightly here https://ci.ros2.org/view/nightly/job/nightly_linux-aarch64_release/ , and we don't see the issue, so there must be something different in your docker environment. I'm just not sure what it is.