Bug#811798: syfi: FTBFS with GCC 6: error: reference is ambiguous
Martin Michlmayr
tbm at hpe.com
Wed Jan 20 02:06:10 UTC 2016
Package: syfi
Version: 1.0.0.dfsg-1.2
Severity: important
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-6 gcc-6-reference-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
...
> [ 22%] Building CXX object syfi/CMakeFiles/syfi.dir/ginac_tools.cpp.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/syfi && /usr/bin/g++ -DSYFILIB_VERSION=\"1.0.0\" -Dsyfi_EXPORTS -I/<<PKGBUILDDIR>>/syfi -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/syfi -I/<<PKGBUILDDIR>>/syfi/swig -I/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/syfi/swig -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -fPIC -o CMakeFiles/syfi.dir/ginac_tools.cpp.o -c /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: In function 'GiNaC::ex SyFi::legendre1D(GiNaC::symbol, unsigned int)':
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:933:14: error: call of overloaded 'pow(int, unsigned int&)' is ambiguous
> P=1/(pow(2,n)*GiNaC::factorial(n))*GiNaC::diff(GiNaC::pow((x*x-1),n),x,n);
> ^
>
> In file included from /usr/include/features.h:361:0,
> from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,
> from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:509,
> from /usr/include/c++/6/string:38,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:21,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/x86_64-linux-gnu/bits/mathcalls.h:153:1: note: candidate: double pow(double, double)
> __MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y));
> ^
>
> In file included from /usr/include/ginac/ginac.h:41:0,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/ginac/power.h:121:11: note: candidate: GiNaC::ex GiNaC::pow(const T1&, const T2&) [with T1 = int; T2 = unsigned int]
> inline ex pow(const T1 & b, const T2 & e)
> ^~~
>
> /usr/include/ginac/power.h:116:11: note: candidate: GiNaC::ex GiNaC::pow(const GiNaC::ex&, const GiNaC::ex&)
> inline ex pow(const ex & b, const ex & e)
> ^~~
>
> In file included from /usr/include/ginac/ginac.h:40:0,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/ginac/numeric.h:255:22: note: candidate: const GiNaC::numeric GiNaC::pow(const GiNaC::numeric&, const GiNaC::numeric&)
> inline const numeric pow(const numeric &x, const numeric &y)
> ^~~
>
> In file included from /usr/include/c++/6/random:38:0,
> from /usr/include/c++/6/bits/stl_algo.h:66,
> from /usr/include/c++/6/algorithm:62,
> from /usr/include/ginac/basic.h:32,
> from /usr/include/ginac/ginac.h:28,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/c++/6/cmath:434:5: note: candidate: constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up) [with _Tp = int; _Up = unsigned int; typename __gnu_cxx::__promote_2<_Tp, _Up>::__type = double]
> pow(_Tp __x, _Up __y)
> ^~~
>
> /usr/include/c++/6/cmath:411:3: note: candidate: constexpr long double std::pow(long double, long double)
> pow(long double __x, long double __y)
> ^~~
>
> /usr/include/c++/6/cmath:407:3: note: candidate: constexpr float std::pow(float, float)
> pow(float __x, float __y)
> ^~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: At global scope:
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1332:9: error: reference to 'function' is ambiguous
> public function::visitor
> ^~~~~~~~
>
> In file included from /usr/include/ginac/ginac.h:55:0,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/ginac/function.h:675:7: note: candidates are: class GiNaC::function
> class function : public exprseq
> ^~~~~~~~
>
> In file included from /usr/include/ginac/ptr.h:29:0,
> from /usr/include/ginac/basic.h:27,
> from /usr/include/ginac/ginac.h:28,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/c++/6/functional:1535:11: note: template<class _Signature> class std::function
> class function;
> ^~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1332:19: error: expected '{' before 'visitor'
> public function::visitor
> ^~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1334:2: error: expected primary-expression before 'public'
> public:
> ^~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1334:2: error: expected '}' before 'public'
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: In function 'void SyFi::visit(const GiNaC::power&)':
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1349:6: error: 'es' was not declared in this scope
> es.muls += n-1;
> ^~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1354:4: error: 'es' was not declared in this scope
> es.pows++;
> ^~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: In function 'void SyFi::visit(const GiNaC::mul&)':
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1360:4: error: 'es' was not declared in this scope
> es.muls += e.nops()-1;
> ^~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: In function 'void SyFi::visit(const GiNaC::add&)':
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1367:4: error: 'es' was not declared in this scope
> es.adds += e.nops()-1;
> ^~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: At global scope:
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1371:20: error: reference to 'function' is ambiguous
> void visit(const function & e)
> ^~~~~~~~
>
> In file included from /usr/include/ginac/ginac.h:55:0,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/ginac/function.h:675:7: note: candidates are: class GiNaC::function
> class function : public exprseq
> ^~~~~~~~
>
> In file included from /usr/include/ginac/ptr.h:29:0,
> from /usr/include/ginac/basic.h:27,
> from /usr/include/ginac/ginac.h:28,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:25,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /usr/include/c++/6/functional:1535:11: note: template<class _Signature> class std::function
> class function;
> ^~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: In function 'void SyFi::visit(const int&)':
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1374:4: error: 'es' was not declared in this scope
> es.functions++;
> ^~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: At global scope:
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1378:1: error: 'ExStats' does not name a type
> ExStats count_ops(const ex & e)
> ^~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1394:70: error: 'symexpair' was not declared in this scope
> ex replace_powers(const ex & ein, const list<symbol> & symbols, list<symexpair> & sel, const string & tmpsymbolprefix)
> ^~~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1394:70: note: suggested alternative:
> In file included from /<<PKGBUILDDIR>>/syfi/utilities.h:25:0,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:27,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /<<PKGBUILDDIR>>/syfi/containers.h:33:60: note: 'SyFi::symexpair'
> typedef std::pair<GiNaC::symbol, GiNaC::ex> symexpair;
> ^~~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1394:79: error: template argument 1 is invalid
> ex replace_powers(const ex & ein, const list<symbol> & symbols, list<symexpair> & sel, const string & tmpsymbolprefix)
> ^
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1394:79: error: template argument 2 is invalid
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: In function 'GiNaC::ex replace_powers(const GiNaC::ex&, const std::__cxx11::list<GiNaC::symbol>&, int&, const string&)':
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1412:52: error: 'int2string' was not declared in this scope
> symbols[i] = get_symbol( sname + int2string(i+1) );
> ^
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1412:52: note: suggested alternative:
> In file included from /<<PKGBUILDDIR>>/syfi/ginac_tools.h:27:0,
> from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:18:
> /<<PKGBUILDDIR>>/syfi/utilities.h:37:14: note: 'SyFi::int2string'
> std::string int2string(int i);
> ^~~~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1412:54: error: 'get_symbol' was not declared in this scope
> symbols[i] = get_symbol( sname + int2string(i+1) );
> ^
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1412:54: note: suggested alternative:
> In file included from /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:19:0:
> /<<PKGBUILDDIR>>/syfi/symbol_factory.h:67:24: note: 'SyFi::get_symbol'
> const GiNaC::symbol & get_symbol(const std::string & name);
> ^~~~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1413:9: error: request for member 'push_back' in 'sel', which is of non-class type 'int'
> sel.push_back(make_pair(symbols[i], symbols[i-1]*sym));
> ^~~~~~~~~
>
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp: At global scope:
> /<<PKGBUILDDIR>>/syfi/ginac_tools.cpp:1428:1: error: expected declaration before '}' token
> }; // namespace SyFi
> ^
>
> syfi/CMakeFiles/syfi.dir/build.make:209: recipe for target 'syfi/CMakeFiles/syfi.dir/ginac_tools.cpp.o' failed
> make[3]: *** [syfi/CMakeFiles/syfi.dir/ginac_tools.cpp.o] Error 1
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
--
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise
More information about the debian-science-maintainers
mailing list