Package Details: ros-noetic-cpp-common 0.7.2-1

Git Clone URL: https://aur.archlinux.org/ros-noetic-cpp-common.git (read-only, click to copy)
Package Base: ros-noetic-cpp-common
Description: ROS - cpp_common contains C++ code for doing things that are not necessarily ROS related, but are useful for multiple packages.
Upstream URL: https://wiki.ros.org/cpp_common
Licenses: BSD
Submitter: acxz
Maintainer: None
Last Packager: AchmadFathoni
Votes: 0
Popularity: 0.000000
First Submitted: 2020-05-24 12:20 (UTC)
Last Updated: 2021-05-07 09:59 (UTC)

Latest Comments

ecloud commented on 2026-03-17 06:55 (UTC) (edited on 2026-03-17 07:01 (UTC) by ecloud)

Outdated due to depending on an old cmake version:

$ makepkg
==> Making package: ros-noetic-cpp-common 0.7.2-1 (Tue 17 Mar 2026 07:50:21 AM CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found ros-noetic-cpp-common-0.7.2.tar.gz
==> Validating source files with sha256sums...
    ros-noetic-cpp-common-0.7.2.tar.gz ... Passed
==> Extracting sources...
  -> Extracting ros-noetic-cpp-common-0.7.2.tar.gz with bsdtar
==> Starting build()...
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.


-- Configuring incomplete, errors occurred!
==> ERROR: A failure occurred in build().
    Aborting...

$ find . -name CMakeLists.txt | xargs grep -i minimum
find: ‘./pkg’: Permission denied
./src/roscpp_core-0.7.2/roscpp_serialization/CMakeLists.txt:cmake_minimum_required(VERSION 3.0.2)
./src/roscpp_core-0.7.2/rostime/CMakeLists.txt:cmake_minimum_required(VERSION 3.0.2)
./src/roscpp_core-0.7.2/cpp_common/CMakeLists.txt:cmake_minimum_required(VERSION 3.0.2)
./src/roscpp_core-0.7.2/roscpp_traits/CMakeLists.txt:cmake_minimum_required(VERSION 3.0.2)
./src/roscpp_core-0.7.2/roscpp_core/CMakeLists.txt:cmake_minimum_required(VERSION 3.0.2)

If I try to downgrade cmake to 3.29, it depends on an old libjsoncpp (which other things depend on as well, so downgrading that has consequences), and there is the trouble with FindBoost which this package also needs:

cmake --help-policy CMP0167
CMP0167
-------

.. versionadded:: 3.30

The ``FindBoost`` module is removed.

CMake 3.29 and below provide a ``FindBoost`` module, but it needs constant
updates to keep up with upstream Boost releases.  Upstream Boost 1.70
and above provide a ``BoostConfig.cmake`` package configuration file.
``find_package(Boost CONFIG)`` finds the upstream package directly,
without the find module.

CMake 3.30 and above prefer to not provide the ``FindBoost`` module
so that ``find_package(Boost)`` calls, without the ``CONFIG`` or
``NO_MODULE`` options, find the upstream ``BoostConfig.cmake`` directly.
This policy provides compatibility for projects that have not been ported
to use the upstream Boost package.

And that comes up even if I change PKGBUILD to add the -DCMAKE_POLICY_VERSION_MINIMUM=3.5 flag:

- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:4 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:141 (find_package):
  Could not find a package configuration file provided by "boost_system"
  (requested version 1.89.0) with any of the following names:

    boost_systemConfig.cmake
    boost_system-config.cmake

  Add the installation prefix of "boost_system" to CMAKE_PREFIX_PATH or set
  "boost_system_DIR" to a directory containing one of the above files.  If
  "boost_system" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:262 (boost_find_component)
  /usr/share/cmake/Modules/FindBoost.cmake:610 (find_package)
  CMakeLists.txt:4 (find_package)

FabioLolix commented on 2023-07-22 15:42 (UTC)

Hello,

  • variables should start with an underscore (_)
  • depends don't have to be makedepends
  • missing maintainer info
  • boost don't seem a depends, typically it is a mekedepends and the package depends on boost-libs if needed

Selected namcap output:

PKGBUILD (ros-noetic-cpp-common) W: Non standard variable 'ros_depends' doesn't start with an underscore
PKGBUILD (ros-noetic-cpp-common) W: Non standard variable 'ros_makedepends' doesn't start with an underscore
PKGBUILD (ros-noetic-cpp-common) W: Make dependency (console-bridge) already included as dependency
PKGBUILD (ros-noetic-cpp-common) W: Make dependency (boost) already included as dependency
PKGBUILD (ros-noetic-cpp-common) W: Missing Maintainer tag
Checking ros-noetic-cpp-common-0.7.2-1-x86_64.pkg.tar.zst
[...]
ros-noetic-cpp-common E: Missing custom license directory (usr/share/licenses/ros-noetic-cpp-common)
[...]
ros-noetic-cpp-common W: Dependency included, but may not be needed ('boost')