Package: shibboleth-sp2 Version: 2.5.3+dfsg-2.1 Severity: important User: debian-...@lists.debian.org Usertags: ftbfs-gcc-6 gcc-6-invalid-template-argument
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 ... > /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. > -Wdate-time -D_FORTIFY_SOURCE=2 -isystem /usr/include/mit-krb5 -pthread > -Wall -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security > -O2 -DNDEBUG -c -o TransformSessionInitiator.lo `test -f > 'handler/impl/TransformSessionInitiator.cpp' || echo > './'`handler/impl/TransformSessionInitiator.cpp > libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time > -D_FORTIFY_SOURCE=2 -isystem /usr/include/mit-krb5 -pthread -Wall -g -O2 > -fstack-protector-strong -Wformat -Werror=format-security -O2 -DNDEBUG -c > handler/impl/TransformSessionInitiator.cpp -fPIC -DPIC -o > .libs/TransformSessionInitiator.o > handler/impl/TransformSessionInitiator.cpp:136:43: error: template argument 1 > is invalid > vector< tuple<bool,string,string> > m_regex; > ^ > > handler/impl/TransformSessionInitiator.cpp:136:43: error: template argument 2 > is invalid > handler/impl/TransformSessionInitiator.cpp: In constructor > 'shibsp::TransformSessionInitiator::TransformSessionInitiator(const > xercesc_3_1::DOMElement*, const char*)': > handler/impl/TransformSessionInitiator.cpp:112:41: error: request for member > 'push_back' in > '((shibsp::TransformSessionInitiator*)this)->shibsp::TransformSessionInitiator::m_regex', > which is of non-class type 'int' > > m_regex.push_back(tuple<bool,string,string>(flag, m.get(), repl.get())); > ^~~~~~~~~ > > handler/impl/TransformSessionInitiator.cpp:112:51: error: reference to > 'tuple' is ambiguous > > m_regex.push_back(tuple<bool,string,string>(flag, m.get(), repl.get())); > ^~~~~ > > In file included from /usr/include/c++/6/utility:70:0, > from /usr/include/xmltooling/base.h:1983, > from /usr/include/saml/base.h:31, > from ./base.h:35, > from ./internal.h:47, > from handler/impl/TransformSessionInitiator.cpp:27: > /usr/include/c++/6/bits/stl_pair.h:83:11: note: candidates are: > template<class ...> class std::tuple > class tuple; > ^~~~~ > > In file included from /usr/include/boost/tuple/tuple.hpp:28:0, > from handler/impl/TransformSessionInitiator.cpp:41: > /usr/include/boost/tuple/detail/tuple_basic.hpp:81:7: note: > template<class T0, class T1, class T2, class T3, class T4, class T5, class > T6, class T7, class T8, class T9> class boost::tuples::tuple > class tuple; > ^~~~~ > > handler/impl/TransformSessionInitiator.cpp:112:57: error: expected > primary-expression before 'bool' > > m_regex.push_back(tuple<bool,string,string>(flag, m.get(), repl.get())); > ^~~~ > > handler/impl/TransformSessionInitiator.cpp:112:68: error: expected > primary-expression before ',' token > > m_regex.push_back(tuple<bool,string,string>(flag, m.get(), repl.get())); > ^ > > handler/impl/TransformSessionInitiator.cpp:112:75: error: expected > primary-expression before '>' token > > m_regex.push_back(tuple<bool,string,string>(flag, m.get(), repl.get())); > ^ > > handler/impl/TransformSessionInitiator.cpp:112:89: warning: left operand of > comma operator has no effect [-Wunused-value] > > m_regex.push_back(tuple<bool,string,string>(flag, m.get(), repl.get())); > > ^ > > handler/impl/TransformSessionInitiator.cpp: In member function 'void > shibsp::TransformSessionInitiator::doRequest(const shibsp::Application&, > std::__cxx11::string&) const': > handler/impl/TransformSessionInitiator.cpp:257:44: error: template argument 1 > is invalid > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > ^ > > handler/impl/TransformSessionInitiator.cpp:257:44: error: template argument 2 > is invalid > handler/impl/TransformSessionInitiator.cpp:257:62: error: qualified-id in > declaration before 'r' > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > ^ > > handler/impl/TransformSessionInitiator.cpp:257:62: error: expected ';' before > 'r' > handler/impl/TransformSessionInitiator.cpp:257:62: error: 'r' was not > declared in this scope > handler/impl/TransformSessionInitiator.cpp:257:74: error: request for member > 'begin' in '((const > shibsp::TransformSessionInitiator*)this)->shibsp::TransformSessionInitiator::m_regex', > which is of non-class type 'const int' > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > > ^~~~~ > > handler/impl/TransformSessionInitiator.cpp:257:96: error: request for member > 'end' in '((const > shibsp::TransformSessionInitiator*)this)->shibsp::TransformSessionInitiator::m_regex', > which is of non-class type 'const int' > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > > ^~~ > > handler/impl/TransformSessionInitiator.cpp:257:101: error: expected ')' > before ';' token > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > > ^ > > handler/impl/TransformSessionInitiator.cpp:257:103: warning: statement is > indented as if it were guarded by... [-Wmisleading-indentation] > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > > ^~ > > handler/impl/TransformSessionInitiator.cpp:257:5: note: ...this 'for' clause, > but it is not > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > ^~~ > > handler/impl/TransformSessionInitiator.cpp:257:105: error: 'r' was not > declared in this scope > for (vector< tuple<bool,string,string> >::const_iterator r = > m_regex.begin(); r != m_regex.end(); ++r) { > > ^ > > Makefile:1750: recipe for target 'TransformSessionInitiator.lo' failed -- Martin Michlmayr Linux for HPE Helion, Hewlett Packard Enterprise