Bug#710620: gnuplot-iostream: FTBFS: gnuplot-iostream.h:1291:58: error: ambiguous class template instantiation for 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'

David Suárez david.sephirot at gmail.com
Fri May 31 18:40:17 UTC 2013


Source: gnuplot-iostream
Version: 0~20130424.gita9d3e31-1
Severity: serious
Tags: jessie sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20130529 qa-ftbfs
Justification: FTBFS on amd64

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64.

Relevant part:
> g++ -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  --std=c++11 -DUSE_ARMA=1 -DUSE_BLITZ=1 -c example-data-1d.cc -o example-data-1d.o
> In file included from example-data-1d.cc:45:0:
> gnuplot-iostream.h: In instantiation of 'void gnuplotio::generic_sender_level1(std::ostream&, const T&, gnuplotio::ColunwrapNo, PrintMode) [with long unsigned int Depth = 1ul; T = arma::field<boost::tuples::tuple<double, double, double> >; PrintMode = gnuplotio::ModeBinary; std::ostream = std::basic_ostream<char>]':
> gnuplot-iostream.h:1303:2:   required from 'void gnuplotio::generic_sender_level0(std::ostream&, const T&, gnuplotio::Mode1D, PrintMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; PrintMode = gnuplotio::ModeBinary; std::ostream = std::basic_ostream<char>]'
> gnuplot-iostream.h:1497:3:   required from 'std::string gnuplotio::Gnuplot::binaryFile(const T&, std::string, const string&, ArrayMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; ArrayMode = gnuplotio::Mode1D; std::string = std::basic_string<char>]'
> gnuplot-iostream.h:1544:194:   required from 'std::string gnuplotio::Gnuplot::binFile1d(const T&, const string&, const string&) [with T = arma::field<boost::tuples::tuple<double, double, double> >; std::string = std::basic_string<char>]'
> example-data-1d.cc:342:35:   required from here
> gnuplot-iostream.h:1291:58: error: ambiguous class template instantiation for 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> gnuplot-iostream.h:833:7: error: candidates are: class gnuplotio::ArrayTraits<T, typename boost::enable_if<boost::mpl::and_<gnuplotio::is_like_stl_container<T>, boost::mpl::not_<gnuplotio::is_armadillo_container<T> > > >::type>
> gnuplot-iostream.h:1939:7: error:                 class gnuplotio::ArrayTraits<arma::field<oT> >
> gnuplot-iostream.h:1291:58: error: incomplete type 'gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>' used in nested name specifier
> gnuplot-iostream.h:1290:38: error: no type named 'range_type' in 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> gnuplot-iostream.h:1290:38: error: no type named 'range_type' in 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> gnuplot-iostream.h: In instantiation of 'void gnuplotio::generic_sender_level1(std::ostream&, const T&, gnuplotio::ColunwrapNo, PrintMode) [with long unsigned int Depth = 1ul; T = arma::field<boost::tuples::tuple<double, double, double> >; PrintMode = gnuplotio::ModeBinfmt; std::ostream = std::basic_ostream<char>]':
> gnuplot-iostream.h:1303:2:   required from 'void gnuplotio::generic_sender_level0(std::ostream&, const T&, gnuplotio::Mode1D, PrintMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; PrintMode = gnuplotio::ModeBinfmt; std::ostream = std::basic_ostream<char>]'
> gnuplot-iostream.h:1469:3:   required from 'std::string gnuplotio::Gnuplot::binfmt(const T&, const string&, ArrayMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; ArrayMode = gnuplotio::Mode1D; std::string = std::basic_string<char>]'
> gnuplot-iostream.h:1502:3:   required from 'std::string gnuplotio::Gnuplot::binaryFile(const T&, std::string, const string&, ArrayMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; ArrayMode = gnuplotio::Mode1D; std::string = std::basic_string<char>]'
> gnuplot-iostream.h:1544:194:   required from 'std::string gnuplotio::Gnuplot::binFile1d(const T&, const string&, const string&) [with T = arma::field<boost::tuples::tuple<double, double, double> >; std::string = std::basic_string<char>]'
> example-data-1d.cc:342:35:   required from here
> gnuplot-iostream.h:1291:58: error: incomplete type 'gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>' used in nested name specifier
> gnuplot-iostream.h:1290:38: error: no type named 'range_type' in 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> gnuplot-iostream.h:1290:38: error: no type named 'range_type' in 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> gnuplot-iostream.h: In instantiation of 'void gnuplotio::generic_sender_level1(std::ostream&, const T&, gnuplotio::ColunwrapNo, PrintMode) [with long unsigned int Depth = 1ul; T = arma::field<boost::tuples::tuple<double, double, double> >; PrintMode = gnuplotio::ModeSize; std::ostream = std::basic_ostream<char>]':
> gnuplot-iostream.h:1303:2:   required from 'void gnuplotio::generic_sender_level0(std::ostream&, const T&, gnuplotio::Mode1D, PrintMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; PrintMode = gnuplotio::ModeSize; std::ostream = std::basic_ostream<char>]'
> gnuplot-iostream.h:1472:3:   required from 'std::string gnuplotio::Gnuplot::binfmt(const T&, const string&, ArrayMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; ArrayMode = gnuplotio::Mode1D; std::string = std::basic_string<char>]'
> gnuplot-iostream.h:1502:3:   required from 'std::string gnuplotio::Gnuplot::binaryFile(const T&, std::string, const string&, ArrayMode) [with T = arma::field<boost::tuples::tuple<double, double, double> >; ArrayMode = gnuplotio::Mode1D; std::string = std::basic_string<char>]'
> gnuplot-iostream.h:1544:194:   required from 'std::string gnuplotio::Gnuplot::binFile1d(const T&, const string&, const string&) [with T = arma::field<boost::tuples::tuple<double, double, double> >; std::string = std::basic_string<char>]'
> example-data-1d.cc:342:35:   required from here
> gnuplot-iostream.h:1291:58: error: incomplete type 'gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>' used in nested name specifier
> gnuplot-iostream.h:1290:38: error: no type named 'range_type' in 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> gnuplot-iostream.h:1290:38: error: no type named 'range_type' in 'class gnuplotio::ArrayTraits<arma::field<boost::tuples::tuple<double, double, double> >, void>'
> make[1]: *** [example-data-1d.o] Error 1

The full build log is available from:
   http://deiv.vzpla.net/logs/2013/05/29/gnuplot-iostream_0~20130424.gita9d3e31-1_unstable.log

Maybe this bug has relation with the boost1.53 transition.

A list of current common problems and possible solutions is available at 
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the debian-science-maintainers mailing list