• Bug#1103703: libbotan-3-dev: cmake find_package wrongfully uses /usr/li

    From Paul Dreik@21:1/5 to All on Sun Apr 20 21:10:01 2025
    Package: libbotan-3-dev
    Version: 3.7.1+dfsg-2
    Severity: normal
    X-Debbugs-Cc: debianbugs@pauldreik.se

    Dear Maintainer,

    After installing the package, I tried to use it from cmake with the following in my CmakeLists.txt:

    find_package(botan REQUIRED)

    This gives an error in cmake configure:

    CMake Error in CMakeLists.txt:
    Imported target "Botan::Botan" includes non-existent path

    "/usr/lib/include/botan-3"

    in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:


    I think the error is that the logic for _Botan_PREFIX in /usr/lib/x86_64-linux-gnu/cmake/Botan-3.7.1/botan-config.cmake:343
    did not take into account to traverse above "x86_64-linux-gnu/"
    If I insert yet another copy of this line:
    get_filename_component(_Botan_PREFIX "${_Botan_PREFIX}" DIRECTORY)
    it works, but I get to another packaging error.

    In my CMakeLists.txt I have:

    target_link_libraries(mytarget PRIVATE Botan::Botan)

    and I get the following error:
    ninja: error: '/usr/lib/libbotan-3.so.7', needed by 'mytarget', missing and no known rule to make it

    According to apt-file (and it is also there on the file system), the real location is
    /usr/lib/x86_64-linux-gnu/libbotan-3.so

    Thanks,
    Paul


    -- System Information:
    Debian Release: trixie/sid
    APT prefers testing
    APT policy: (500, 'testing')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.12.21-amd64 (SMP w/6 CPU threads; PREEMPT)
    Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8), LANGUAGE not set
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    Versions of packages libbotan-3-dev depends on:
    ii libbotan-3-7 3.7.1+dfsg-2

    libbotan-3-dev recommends no packages.

    libbotan-3-dev suggests no packages.

    -- no debconf information

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)