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