#20928: eclib fails to build with gcc6 / c++11
-------------------------------------+-------------------------------------
       Reporter:  vbraun             |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-7.3
      Component:  packages:          |   Resolution:
  standard                           |
       Keywords:  gcc6 c++11         |    Merged in:
        Authors:  François Bissey    |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/fbissey/eclib-20160206           |  7e03c9b79216da1079324eaa744eecec1897d59b
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Fran\xe7ois Bissey', 'oldvalue': ''}):

 * status:  new => needs_review
 * commit:   => 7e03c9b79216da1079324eaa744eecec1897d59b
 * branch:   => u/fbissey/eclib-20160206
 * author:   => François Bissey


Old description:

> Errors start with
> {{{
> libtool: compile:  g++ -DPACKAGE_NAME=\"eclib\"
> -DPACKAGE_TARNAME=\"eclib\" -DPACKAGE_VERSION=\"20150827\"
> "-DPACKAGE_STRING=\"eclib 20150827\""
> -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\"
> -DPACKAGE=\"eclib\" -DVERSION=\"20150827\" -DSTDC_HEADERS=1
> -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
> -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
> -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
> -DLT_OBJDIR=\".libs/\" -DHAVE_STDCXX_0X=1 -DHAVE_TR1_UNORDERED_MAP=1
> -DHAVE_STDCXX_0X=1 -DHAVE_UNORDERED_MAP=1 -DHAVE_ALLOCA_H=1
> -DHAVE_ALLOCA=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1
> -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -Drestrict=__restrict -DHAVE_MEMMOVE=1
> -DHAVE_MEMSET=1 -DHAVE_STRCHR=1 -I. -DFLINT_LEVEL=1
> -I/home/vbraun/Code/sage/local/include
> -I/home/vbraun/Code/sage/local/include
> -I/home/vbraun/Code/sage/local/include -DNTL_ALL -DUSE_PARI_FACTORING
> -DNEW_OP_ORDER -g -O3 -MT timer.lo -MD -MP -MF .deps/timer.Tpo -c
> timer.cc  -fPIC -DPIC -o .libs/timer.o
> timer.cc: In destructor 'timer::~timer()':
> timer.cc:77:13: error: no match for 'operator!=' (operand types are
> 'std::ofstream {aka std::basic_ofstream<char>}' and 'long int')
>    if( file_ != NULL ) {
>
> timer.cc:77:13: note: candidate: operator!=(int, long int) <built-in>
> timer.cc:77:13: note:   no known conversion for argument 1 from
> 'std::ofstream {aka std::basic_ofstream<char>}' to 'int'
> In file included from ../../../../../../../include/NTL/ZZ.h:20:0,
>                  from ./eclib/interface.h:70,
>                  from timer.cc:27:
> ../../../../../../../include/NTL/vector.h:778:6: note: candidate:
> template<class T> long int NTL::operator!=(const NTL::Vec<T>&, const
> NTL::Vec<T>&)
>  long operator!=(const Vec<T>& a, const Vec<T>& b)
>       ^~~~~~~~
> ../../../../../../../include/NTL/vector.h:778:6: note:   template
> argument deduction/substitution failed:
> timer.cc:77:15: note:   'std::ofstream {aka std::basic_ofstream<char>}'
> is not derived from 'const NTL::Vec<T>'
>    if( file_ != NULL ) {
>                ^~~~~~
> In file included from ../../../../../../../include/NTL/ZZ.h:21:0,
>                  from ./eclib/interface.h:70,
>                  from timer.cc:27:
> ../../../../../../../include/NTL/SmartPtr.h:308:6: note: candidate:
> template<class X, class Y> bool NTL::operator!=(const NTL::SmartPtr<T>&,
> const NTL::SmartPtr<Y>&)
>  bool operator!=(const SmartPtr<X>& a, const SmartPtr<Y>& b)
>       ^~~~~~~~
> }}}

New description:

 Current version fails with
 {{{
 libtool: compile:  g++ -DPACKAGE_NAME=\"eclib\"
 -DPACKAGE_TARNAME=\"eclib\" -DPACKAGE_VERSION=\"20150827\"
 "-DPACKAGE_STRING=\"eclib 20150827\""
 -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\"
 -DPACKAGE=\"eclib\" -DVERSION=\"20150827\" -DSTDC_HEADERS=1
 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
 -DLT_OBJDIR=\".libs/\" -DHAVE_STDCXX_0X=1 -DHAVE_TR1_UNORDERED_MAP=1
 -DHAVE_STDCXX_0X=1 -DHAVE_UNORDERED_MAP=1 -DHAVE_ALLOCA_H=1
 -DHAVE_ALLOCA=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1
 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -Drestrict=__restrict -DHAVE_MEMMOVE=1
 -DHAVE_MEMSET=1 -DHAVE_STRCHR=1 -I. -DFLINT_LEVEL=1
 -I/home/vbraun/Code/sage/local/include
 -I/home/vbraun/Code/sage/local/include
 -I/home/vbraun/Code/sage/local/include -DNTL_ALL -DUSE_PARI_FACTORING
 -DNEW_OP_ORDER -g -O3 -MT timer.lo -MD -MP -MF .deps/timer.Tpo -c timer.cc
 -fPIC -DPIC -o .libs/timer.o
 timer.cc: In destructor 'timer::~timer()':
 timer.cc:77:13: error: no match for 'operator!=' (operand types are
 'std::ofstream {aka std::basic_ofstream<char>}' and 'long int')
    if( file_ != NULL ) {

 timer.cc:77:13: note: candidate: operator!=(int, long int) <built-in>
 timer.cc:77:13: note:   no known conversion for argument 1 from
 'std::ofstream {aka std::basic_ofstream<char>}' to 'int'
 In file included from ../../../../../../../include/NTL/ZZ.h:20:0,
                  from ./eclib/interface.h:70,
                  from timer.cc:27:
 ../../../../../../../include/NTL/vector.h:778:6: note: candidate:
 template<class T> long int NTL::operator!=(const NTL::Vec<T>&, const
 NTL::Vec<T>&)
  long operator!=(const Vec<T>& a, const Vec<T>& b)
       ^~~~~~~~
 ../../../../../../../include/NTL/vector.h:778:6: note:   template argument
 deduction/substitution failed:
 timer.cc:77:15: note:   'std::ofstream {aka std::basic_ofstream<char>}' is
 not derived from 'const NTL::Vec<T>'
    if( file_ != NULL ) {
                ^~~~~~
 In file included from ../../../../../../../include/NTL/ZZ.h:21:0,
                  from ./eclib/interface.h:70,
                  from timer.cc:27:
 ../../../../../../../include/NTL/SmartPtr.h:308:6: note: candidate:
 template<class X, class Y> bool NTL::operator!=(const NTL::SmartPtr<T>&,
 const NTL::SmartPtr<Y>&)
  bool operator!=(const SmartPtr<X>& a, const SmartPtr<Y>& b)
       ^~~~~~~~
 }}}

 Newest upstream has fixes for C++ compatibility issues such as the one
 above let's upgrade to it.

 Tarball:
 [http://www.lmona.de/files/sage/eclib-20160720.tar.gz]

--

Comment:

 And now with a tarball in the description and a branch for the upgrade.
 ----
 New commits:
 
||[https://git.sagemath.org/sage.git/commit?id=7e03c9b79216da1079324eaa744eecec1897d59b
 7e03c9b]||{{{update eclib to 20160720}}}||

--
Ticket URL: <https://trac.sagemath.org/ticket/20928#comment:8>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to