Bug #2022

Incorrect pkg-config requirement extraction for cmake-cpp projects

Added by S. Meyer zu Borgsen over 9 years ago. Updated over 9 years ago.

Status:RejectedStart date:09/24/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:

0%

Category:Project Analysis
Target version:0.3

Description

For example for the annotate project it extracts:

  #<VERSION-SPEC annotate:master {100956BBC3}> (1 missing dependency):
    No provider for (:PKG-CONFIG "btl-1.1").

I expect something like:

  #<VERSION-SPEC annotate:master {100956BBC3}> (1 missing dependency):
    No provider for (:PKG-CONFIG "btl" (1 1)).

The btl project actually provides:

 "extra-provides": [ [ "cmake",      "btl",         "1.1" ],
                     [ "pkg-config", "btl",         "1.1" ] ]

btl-1.1.pc (250 Bytes) S. Meyer zu Borgsen, 09/24/2014 11:31 AM


Related issues

Related to Automated Build Generator - Bug #2021: Projects that contain pom.xml and CMakeLists.txt get trea... Resolved 09/24/2014

History

#1 Updated by J. Moringen over 9 years ago

  • Description updated (diff)
  • Status changed from New to Feedback
  • Target version set to 0.3

The correctness of the extraction depends on whether the pkg-config module is named "btl-1.1" or "btl", i.e. does the upstream project install btl-1.1.pc or btl.pc?

If possible, please attach the btl[-1.1].pc file and paste the PKG_CHECK_MODULES (or similar) call in the downstream project.

The btl project actually provides:
[...]

This is hand-written and may not reflect what btl actually does :)

#2 Updated by S. Meyer zu Borgsen over 9 years ago

BTL creates btl-1.1.pc (see attachment).

Downstream calls:
PKG_CHECK_MODULES(LIBRARIES REQUIRED eigen3 xmltio btl-1.1)

Maybe this problem is related to: #2021 ?

#3 Updated by J. Moringen over 9 years ago

  • Status changed from Feedback to Rejected

BTL creates btl-1.1.pc (see attachment).

Downstream calls:
PKG_CHECK_MODULES(LIBRARIES REQUIRED eigen3 xmltio btl-1.1)

In this case, the pkg-config module name is btl-1.1 and the correct specifications are
  • extra-provides [ "pkg-config", "btl-1.1", "1.1.2" ] in the upstream project
  • (:PKG-CONFIG "btl-1.1") in the downstream project (which is already the case)

Maybe this problem is related to: #2021 ?

Possible, since analyzing the repository contents as a CMake project could detect the provided pkg-config module. However, I'm not sure whether the current CMake analysis can do that.

I'm rejecting this issue since the fix is either
  1. Change the btl recipe to extra-provides [ "pkg-config", "btl-1.1", "1.1.2" ]
  2. Fix #2021 and check whether the provided pkg-config module can be detected automatically

I suggested implementing 1) until 2) is done.

#4 Updated by J. Moringen over 9 years ago

  • Related to Bug #2021: Projects that contain pom.xml and CMakeLists.txt get treated as maven project only added

Also available in: Atom PDF