Package: thin-provisioning-tools
Version: 0.5.6-1
Severity: important
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-cannot-convert

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

Note that only the first error is reported; there might be more.  You
can find a snapshot of GCC 6 in experimental.  To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.

> sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
> g++ -c -I. -I. -I./thin-provisioning -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g 
> -O2 -fstack-protector-strong -Wformat -Werror=format-security 
> -DSTRERROR_R_CHAR_P -o thin-provisioning/metadata_dumper.o 
> thin-provisioning/metadata_dumper.cc
> In file included from ./persistent-data/block.h:154:0,
>                  from ./thin-provisioning/metadata.h:24,
>                  from ./thin-provisioning/metadata_dumper.h:23,
>                  from thin-provisioning/metadata_dumper.cc:20:
> ./persistent-data/block.tcc: In instantiation of 
> 'persistent_data::block_manager<BlockSize>::write_ref::~write_ref() [with 
> unsigned int BlockSize = 4096u]':
> /usr/include/c++/6/bits/stl_pair.h:128:12:   required from here
> ./persistent-data/block.tcc:193:68: warning: throw will always call 
> terminate() [-Wterminate]
>      throw std::runtime_error("write_ref ref_count going below zero");
>                                                                     ^
> 
> ./persistent-data/block.tcc:193:68: note: in C++11 destructors default to 
> noexcept
> g++ -c -I. -I. -I./thin-provisioning -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g 
> -O2 -fstack-protector-strong -Wformat -Werror=format-security 
> -DSTRERROR_R_CHAR_P -o thin-provisioning/restore_emitter.o 
> thin-provisioning/restore_emitter.cc
> thin-provisioning/restore_emitter.cc: In member function 'bool 
> {anonymous}::restorer::device_exists(thin_provisioning::thin_dev_t) const':
> thin-provisioning/restore_emitter.cc:144:11: error: cannot convert 
> 'persistent_data::btree<1u, 
> thin_provisioning::device_tree_detail::device_details_traits>::maybe_value 
> {aka boost::optional<thin_provisioning::device_tree_detail::device_details>}' 
> to 'bool' in return
>     return v;
>            ^
> 
> In file included from ./persistent-data/block.h:154:0,
>                  from ./thin-provisioning/metadata.h:24,
>                  from ./thin-provisioning/restore_emitter.h:23,
>                  from thin-provisioning/restore_emitter.cc:19:
> ./persistent-data/block.tcc: In instantiation of 
> 'persistent_data::block_manager<BlockSize>::write_ref::~write_ref() [with 
> unsigned int BlockSize = 4096u]':
> /usr/include/c++/6/bits/stl_pair.h:128:12:   required from here
> ./persistent-data/block.tcc:193:68: warning: throw will always call 
> terminate() [-Wterminate]
>      throw std::runtime_error("write_ref ref_count going below zero");
>                                                                     ^
> 
> ./persistent-data/block.tcc:193:68: note: in C++11 destructors default to 
> noexcept
> Makefile:128: recipe for target 'thin-provisioning/restore_emitter.o' failed

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise

Reply via email to