Project

General

Profile

Actions

Bug #26

closed

Can't build spawn-binding on openSUSE 15.3

Added by Emmanuel Jubera [SAFT] over 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
Start date:
07/27/2022
Due date:
% Done:

0%

Estimated time:
Hardware platform:
Desktop SDK (openSUSE Leap 15.3)
OS Affects Version/s:
arz-1.0
OS Fix Version/s:
Labels:

Description

When trying to build spawn-binding on openSUSE 15.3 (up to date), cmake fails because it can't find package uuid, as shown hereafter:

sipload@localhost:~/my_rp_builder_dir/gitsources/spawn-binding> rm -rf build/
sipload@localhost:~/my_rp_builder_dir/gitsources/spawn-binding> mkdir build
sipload@localhost:~/my_rp_builder_dir/gitsources/spawn-binding> cd build
sipload@localhost:~/my_rp_builder_dir/gitsources/spawn-binding/build> cmake ..
CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Distribution detected (separated by ';' choose one of them) suse;opensuse
Include: /home/sipload/my_rp_builder_dir/gitsources/spawn-binding/conf.d/cmake/00-opensuse-config.cmake
-- Custom options: 00-opensuse-config.cmake --
Include: /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/cmake.d/01-build_options.cmake
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'uuid'
--   No package 'uuid' found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:467 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:647 (_pkg_check_modules_internal)
  /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/cmake.d/01-build_options.cmake:137 (PKG_CHECK_MODULES)
  /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/common.cmake:101 (include)
  /usr/share/cmake/Modules/CMakeAfbTemplates.cmake:19 (include)
  conf.d/cmake/config.cmake:187 (include)
  CMakeLists.txt:2 (include)


-- Configuring incomplete, errors occurred!
See also "/home/sipload/my_rp_builder_dir/gitsources/spawn-binding/build/CMakeFiles/CMakeOutput.log".
Actions #1

Updated by Vincent Rubiolo over 2 years ago

  • Subject changed from Can't build spawn-binding on openSUSE to Can't build spawn-binding on openSUSE 15.3
Actions #2

Updated by Vincent Rubiolo over 2 years ago

Emmanuel,

The build is failing at the pkgconfig stage because you are missing the package providing the uuid feature. In the case of opensuse, this is uuid-devel.

In general, you will need to install packages associated with every pkgconfig require mentioned in the binding cmake source file. In the case of spawn-binding, those are https://github.com/redpesk-common/spawn-binding/blob/master/conf.d/cmake/config.cmake#L73 (they are always located in this file for every binding using the cmake templates).

In your case, I had to install the following to be able to build the binding:
zypper install uuid-devel libjson-c-devel libcap-ng-devel libseccomp-devel uthash-devel systemd-devel

The latter (systemd-devel) is not present in the pkgconfig dependencies, I think this is an error on our end.

Note that a useful feature is to specify 'pkgconfig(XXX)' as the name of the package to install (e.g. zypper install 'pkgconfig(uuid)') and the package manager is able to automatically find the associated exact package name (libuuid-devel in this case).

Let me know how it goes, I was able to build the binding on Opensuse 15.3 in my case.

Actions #3

Updated by Vincent Rubiolo over 2 years ago

  • Status changed from New to Submitter feedback needed
Actions #4

Updated by Emmanuel Jubera [SAFT] over 2 years ago

Problem fixed with installation of libuuid-devel package.

Actions #5

Updated by Vincent Rubiolo over 2 years ago

  • Status changed from Submitter feedback needed to Resolved
Actions #6

Updated by Vincent Rubiolo over 2 years ago

  • Assignee changed from Vincent Rubiolo to Emmanuel Jubera [SAFT]
Actions #7

Updated by Vincent Rubiolo over 2 years ago

  • Status changed from Resolved to Closed
Actions #8

Updated by Vincent Rubiolo over 2 years ago

FYI, the missing libsystemd issue has been fixed in mainline via https://github.com/redpesk-common/spawn-binding/commit/29e75385fcc9ef1af57fd6a874e04d47810e0c0a

Actions #9

Updated by Sebastien Douheret [IoT.bzh] about 2 years ago

  • OS Affects Version/s arz-1.0.0 added
Actions #10

Updated by Sebastien Douheret [IoT.bzh] almost 2 years ago

  • OS Affects Version/s arz-1.0 added
  • OS Affects Version/s deleted (arz-1.0.0)
Actions

Also available in: Atom PDF