[Pkg-bitcoin-devel] Bug#811917: litecoin: FTBFS with GCC 6: ambiguous overload

Martin Michlmayr tbm at hpe.com
Wed Jan 20 03:38:00 UTC 2016


Package: litecoin
Version: 0.10.4.0-1
Severity: important
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-6

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.

You may be able to find out more about this issue at
https://gcc.gnu.org/gcc-6/changes.html

> sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
> g++ -DHAVE_CONFIG_H -I. -I../src/config  -I. -I./obj -pthread -I/usr/include    -I./secp256k1/include  -Wdate-time -D_FORTIFY_SOURCE=2 -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS  -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fvisibility=hidden -c -o libbitcoin_common_a-hash.o `test -f 'hash.cpp' || echo './'`hash.cpp
> chainparams.cpp: In constructor 'CMainParams::CMainParams()':
> chainparams.cpp:165:52: error: ambiguous overload for 'operator=' (operand types are 'std::vector<unsigned char>' and 'boost::assign_detail::generic_list<int>')
>          base58Prefixes[PUBKEY_ADDRESS] = list_of(48);
>                                                     ^
> 
> In file included from /usr/include/c++/6/vector:69:0,
>                  from chainparamsbase.h:9,
>                  from chainparams.h:9,
>                  from chainparams.cpp:6:
> /usr/include/c++/6/bits/vector.tcc:167:5: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
>      vector<_Tp, _Alloc>::
>      ^~~~~~~~~~~~~~~~~~~
> 
> In file included from /usr/include/c++/6/vector:64:0,
>                  from chainparamsbase.h:9,
>                  from chainparams.h:9,
>                  from chainparams.cpp:6:
> /usr/include/c++/6/bits/stl_vector.h:450:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
>        operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
>        ^~~~~~~~
> 
> /usr/include/c++/6/bits/stl_vector.h:471:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
>        operator=(initializer_list<value_type> __l)
>        ^~~~~~~~
> 
> chainparams.cpp:166:51: error: ambiguous overload for 'operator=' (operand types are 'std::vector<unsigned char>' and 'boost::assign_detail::generic_list<int>')
>          base58Prefixes[SCRIPT_ADDRESS] = list_of(5);
>                                                    ^
> 
> In file included from /usr/include/c++/6/vector:69:0,
>                  from chainparamsbase.h:9,
>                  from chainparams.h:9,
>                  from chainparams.cpp:6:
> /usr/include/c++/6/bits/vector.tcc:167:5: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
>      vector<_Tp, _Alloc>::
>      ^~~~~~~~~~~~~~~~~~~
> 
> In file included from /usr/include/c++/6/vector:64:0,
>                  from chainparamsbase.h:9,
>                  from chainparams.h:9,
>                  from chainparams.cpp:6:
> /usr/include/c++/6/bits/stl_vector.h:450:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
>        operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
>        ^~~~~~~~
> 
> /usr/include/c++/6/bits/stl_vector.h:471:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
>        operator=(initializer_list<value_type> __l)
>        ^~~~~~~~
> 
> chainparams.cpp:167:53: error: ambiguous overload for 'operator=' (operand types are 'std::vector<unsigned char>' and 'boost::assign_detail::generic_list<int>')
>          base58Prefixes[SECRET_KEY] =     list_of(176);
>                                                      ^



More information about the Pkg-bitcoin-devel mailing list