[Debian-med-packaging] Bug#909763: hinge FTBFS with spdlog 1:1.1.0-1

Andreas Tille andreas at an3as.eu
Fri Sep 28 08:16:46 BST 2018


Control: tags -1 help

Hi,

On Thu, Sep 27, 2018 at 11:28:04PM +0300, Adrian Bunk wrote:
> Source: hinge
> Version: 0.5.0-3
> Severity: serious
> Tags: ftbfs
> 
> https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/hinge.html
> 
> ...
> /build/1st/hinge-0.5.0/src/filter/filter.cpp:200:53: error: 'stdout_sink_st' is not a member of 'spdlog::sinks'
>      sinks.push_back(std::make_shared<spdlog::sinks::stdout_sink_st>());
>                                                      ^~~~~~~~~~~~~~
> /build/1st/hinge-0.5.0/src/filter/filter.cpp:200:53: error: 'stdout_sink_st' is not a member of 'spdlog::sinks'
> /build/1st/hinge-0.5.0/src/filter/filter.cpp:200:69: error: no matching function for call to 'make_shared<<expression error> >()'
>      sinks.push_back(std::make_shared<spdlog::sinks::stdout_sink_st>());
>                                                                      ^
> In file included from /usr/include/c++/8/memory:81,
>                  from /usr/include/spdlog/common.h:14,
>                  from /usr/include/spdlog/spdlog.h:10,
>                  from /build/1st/hinge-0.5.0/src/filter/filter.cpp:22:
> /usr/include/c++/8/bits/shared_ptr.h:719:5: note: candidate: 'template<class _Tp, class ... _Args> std::shared_ptr<_Tp> std::make_shared(_Args&& ...)'
>      make_shared(_Args&&... __args)
>      ^~~~~~~~~~~
> ...

Spdlog upstream has again changed its interface (its a bit hard to track
since its just a header library and we have no chance to detect this via
symbols file).  I've checked upstream git and I think the relevant
change is here:

   https://github.com/gabime/spdlog/commit/9df2bd256e148c00cbac690558d0c2ebf6b1b52d

in file include/spdlog/spdlog.h line 29.

So the code of hinge needs to be adapted to the change

  -         auto new_logger = std::make_shared<logger>(logger_name, std::move(sink));
  +         auto new_logger = std::make_shared<logger>(std::move(logger_name), std::move(sink));

Unfurtunately my non-existing knowledge of C++ leaves me a bit helpless
here.  Gert, you once helped out with a previous spdlog adaption.  Would
you be able with another patch again?

Kind regards

        Andreas.

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list