Package: nghttp2
Version: 1.6.0-1
Severity: important
User: [email protected]
Usertags: ftbfs-gcc-6 gcc-6-overloaded-ambiguous

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
...
> gcc -DHAVE_CONFIG_H -I. -I..  -DPKGDATADIR='"/usr/share/nghttp2"' -Wall 
> -I../lib/includes -I../lib/includes -I../lib -I../src/includes 
> -I../third-party -I/usr/include/libxml2 -DHAVE_CONFIG_H -Wdate-time 
> -D_FORTIFY_SOURCE=2  -g -O2 -fstack-protector-strong -Wformat 
> -Werror=format-security -c -o timegm.o timegm.c
> In file included from http2.h:41:0,
>                  from http2.cc:25:
> memchunk.h: In instantiation of 'T* nghttp2::Pool<T>::get() [with T = 
> nghttp2::Memchunk<16384ul>]':
> memchunk.h:128:19:   required from 'size_t 
> nghttp2::Memchunks<Memchunk>::append(char) [with Memchunk = 
> nghttp2::Memchunk<16384ul>; size_t = long unsigned int]'
> http2.cc:242:33:   required from here
> memchunk.h:69:26: error: call of overloaded 
> 'make_unique(std::remove_reference<std::unique_ptr<nghttp2::Memchunk<16384ul>,
>  std::default_delete<nghttp2::Memchunk<16384ul> > >&>::type)' is ambiguous
>      pool = make_unique<T>(std::move(pool));
>             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
> 
> In file included from memchunk.h:40:0,
>                  from http2.h:41,
>                  from http2.cc:25:
> template.h:42:1: note: candidate: typename std::enable_if<(! std::is_array< 
> <template-parameter-1-1> >::value), std::unique_ptr<_Tp> >::type 
> nghttp2::make_unique(U&& ...) [with T = nghttp2::Memchunk<16384ul>; U = 
> {std::unique_ptr<nghttp2::Memchunk<16384ul>, 
> std::default_delete<nghttp2::Memchunk<16384ul> > >}; typename 
> std::enable_if<(! std::is_array< <template-parameter-1-1> >::value), 
> std::unique_ptr<_Tp> >::type = std::unique_ptr<nghttp2::Memchunk<16384ul>, 
> std::default_delete<nghttp2::Memchunk<16384ul> > >]
>  make_unique(U &&... u) {
>  ^~~~~~~~~~~
> 
> In file included from /usr/include/c++/6/memory:81:0,
>                  from util.h:45,
>                  from http2.h:40,
>                  from http2.cc:25:
> /usr/include/c++/6/bits/unique_ptr.h:786:5: note: candidate: typename 
> std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp 
> = nghttp2::Memchunk<16384ul>; _Args = 
> {std::unique_ptr<nghttp2::Memchunk<16384ul>, 
> std::default_delete<nghttp2::Memchunk<16384ul> > >}; typename 
> std::_MakeUniq<_Tp>::__single_object = 
> std::unique_ptr<nghttp2::Memchunk<16384ul>, 
> std::default_delete<nghttp2::Memchunk<16384ul> > >]
>      make_unique(_Args&&... __args)
>      ^~~~~~~~~~~
> 
> In file included from shrpx_connection.h:38:0,
>                  from shrpx_client_handler.h:37,
>                  from shrpx_http2_downstream_connection.cc:33:
> memchunk.h: In instantiation of 'T* nghttp2::Pool<T>::get() [with T = 
> nghttp2::Memchunk<16384ul>]':
> memchunk.h:146:19:   required from 'size_t 
> nghttp2::Memchunks<Memchunk>::append(const void*, size_t) [with Memchunk = 
> nghttp2::Memchunk<16384ul>; size_t = long unsigned int]'
> shrpx_http2_downstream_connection.cc:416:31:   required from here
> memchunk.h:69:26: error: call of overloaded 
> 'make_unique(std::remove_reference<std::unique_ptr<nghttp2::Memchunk<16384ul>,
>  std::default_delete<nghttp2::Memchunk<16384ul> > >&>::type)' is ambiguous
>      pool = make_unique<T>(std::move(pool));
>             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~

Reply via email to