Hello Gianfranco,

On 10/27/21 10:13 AM, Gianfranco Costamagna wrote:
Hello Tomasz

On Wed, 20 Oct 2021 19:58:47 +0200 Tomasz Wolak <tomas.wo...@gmail.com> wrote:
[...]
I have tried to build the source package 0.7.0
(https://packages.debian.org/experimental/libyaml-cpp-dev) for my Debian
(bullseye), but unfortunately building the package fails with:


https://buildd.debian.org/status/package.php?p=yaml-cpp&suite=experimental

0.7.0+dfsg-5 should be buildable correctly, the package was broken due to 
missing
symbols

please give it another shot if possible :)

Gianfranco



Yes, the version 0.7.0+dfsg-5 builds on Bullseye and both pkg-config and CMake's find_package() return "" (an empty string) as include directory for yaml-cpp. The library's header files are under system's generic /usr/include ( /usr/include/yaml-cpp/ in this case) - so it seems correct to me as it is fine for compilation (as long as source files are using the relative path <yaml-cpp/...>).

I was a bit confused though, as the software that I was building (RStudio, www.rstudio.com, the latest released version rstudio-2021.09.0-351) was still failing - because its CMake script checks if the include directory (provided in YAML_CPP_INCLUDE_DIR) exists... This seems to me a bad practice considering the above (no additional include paths may be needed for correct compilation). However, this varies also between different libraries - for some, the tools returns an absolute path to their subdirectory, eg. for uuid, pkg-config returns -I/usr/include/uuid; for SDL2 both pkg-config and CMake points to /usr/include/SDL2 etc.). In such case, RStudio developers' approach would be correct...

Is there a (at least recommended) standard for this or each library goes its own way? (I suppose Debian does not enforce this, just follows the original).

Anyway - 0.7.0 seems OK. (backported to Bullseye will fix the problem with CMake).

Thank you.

Tomasz

Reply via email to