[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#811914: crossroads: FTBFS with GCC 6: invalid conversion



Package: crossroads
Version: 2.65-2
Severity: important
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-invalid-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.

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
...
> /usr/bin/g++-6   -O3 \
>   -DVER='"2.65"' -DAUTHOR='"Karel Kubat <karel@kubat.nl>"' -DHST='"dl580gen9-02"' \
>   -DMAINTAINER='"Karel Kubat <karel@kubat.nl>"' -DDISTSITE='"http://crossroads.e-tunity.com";' \
>   -DSYS='"Linux"' -DLinux   \
>   -DCONF_CC='"/usr/bin/g++-6"' -DCONF_LIB='""' \
>   -DCONF_OPTFLAGS='"-O3"'  \
>   -DHAVE_GETOPT_H -DHAVE_GETOPT_LONG=1 -DHAVE_INET_ATON=1 \
>   -I/<<PKGBUILDDIR>>/xr \
>   -c -g -Wall  -o /<<PKGBUILDDIR>>/xr/build/netbuffer_netwrite.o netwrite.cc
> In file included from netbuffer:4:0,
>                  from netwrite.cc:1:
> netwrite.cc: In member function 'unsigned int Netbuffer::netwrite(int, int) const':
> netwrite.cc:72:34: error: ambiguous overload for 'operator+' (operand types are 'Mstr' and 'Mstr')
>       msg(Mstr("Write warning: ") + Mstr(strerror(errno)) + "\n");
>           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
> 
> /<<PKGBUILDDIR>>/xr/sys/sys:78:42: note: in definition of macro 'msg'
>  #define msg(x) if(config.verbose()) _msg(x)
>                                           ^
> 
> In file included from /<<PKGBUILDDIR>>/xr/sys/sys:72:0,
>                  from netbuffer:4,
>                  from netwrite.cc:1:
> /<<PKGBUILDDIR>>/xr/mstr/mstr:39:17: note: candidate: const Mstr& Mstr::operator+(const string&)
>      Mstr const &operator+(string const &s) {
>                  ^~~~~~~~
> 
> In file included from /usr/include/c++/6/string:52:0,
>                  from /usr/include/c++/6/bits/locale_classes.h:40,
>                  from /usr/include/c++/6/bits/ios_base.h:41,
>                  from /usr/include/c++/6/ios:42,
>                  from /usr/include/c++/6/ostream:38,
>                  from /usr/include/c++/6/iostream:39,
>                  from /<<PKGBUILDDIR>>/xr/sys/sys:39,
>                  from netbuffer:4,
>                  from netwrite.cc:1:
> /usr/include/c++/6/bits/basic_string.h:4929:5: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
>      operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
>      ^~~~~~~~
> 
> /usr/include/c++/6/bits/basic_string.h:4994:5: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
>      operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
>      ^~~~~~~~
> 
> /usr/include/c++/6/bits/basic_string.h:5000:5: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
>      operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
>      ^~~~~~~~
> 
> /usr/include/c++/6/bits/basic_string.h:5006:5: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
>      operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
>      ^~~~~~~~
> 
> /<<PKGBUILDDIR>>/xr/etc/Makefile.class:15: recipe for target '/<<PKGBUILDDIR>>/xr/build/netbuffer_netwrite.o' failed
> make[4]: *** [/<<PKGBUILDDIR>>/xr/build/netbuffer_netwrite.o] Error 1
> make[4]: Leaving directory '/<<PKGBUILDDIR>>/xr/netbuffer'

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


Reply to: