#11086: lcalc 20100428-1.23.p5 fails to build on OpenSolaris with gcc 4.6.0
------------------------+---------------------------------------------------
   Reporter:  drkirkby  |       Owner:  drkirkby                                
   
       Type:  defect    |      Status:  new                                     
   
   Priority:  major     |   Milestone:  sage-4.7                                
   
  Component:  solaris   |    Keywords:                                          
   
     Author:            |    Upstream:  Not yet reported upstream; Will do 
shortly.
   Reviewer:            |      Merged:                                          
   
Work_issues:            |  
------------------------+---------------------------------------------------
 The latest gcc 4.6.0 fails to compile lcalc - something the Sun compiler
 has always refused to do. #7065 shows the problems reported by the Sun
 compiler.

 GCC 4.5.0 and 4.5.1 compile ''lcalc'', though they give lots of warnings.
 Hopefully GCC is becoming stricter about the code it accepts, which can
 only be a good thing IMHO.

 This problem was noticed on a Sun Ultra 27 running !OpenSolaris 06/2009.
 This has a 3.33 GHz Intel Xeon W3580 CPU, not a SPARC processor. Part of
 the error message is below.

 A full log is attached. As you can see, this code generates tons of
 warnings.

 I've set the component to "solaris" as this is the only system on which I
 know this is failing to build, but can someone please change it to "build"
 if it fails to build on OS X or Linux with gcc 4.6.0. I rather suspect the
 same issue will apply on Linux and OS X.

 {{{
 ../include/Lcommon.h:35:15: note: double lcalc_to_double(const long
 unsigned int&)
 /usr/local/gcc-4.6.0/lib/gcc/i386-pc-
 solaris2.10/4.6.0/../../../../include/c++/4.6.0/limits: In static member
 function 'static double std::numeric_limits<double>::epsilon()':
 /usr/local/gcc-4.6.0/lib/gcc/i386-pc-
 solaris2.10/4.6.0/../../../../include/c++/4.6.0/limits:1501:34: error:
 call of overloaded 'lcalc_to_double(long double)' is ambiguous
 /usr/local/gcc-4.6.0/lib/gcc/i386-pc-
 solaris2.10/4.6.0/../../../../include/c++/4.6.0/limits:1501:34: note:
 candidates are:
 ../include/Lcommon.h:18:15: note: double lcalc_to_double(const Double&)
 ../include/Lcommon.h:29:15: note: double lcalc_to_double(const int&)
 ../include/Lcommon.h:30:15: note: double lcalc_to_double(const long long
 int&)
 ../include/Lcommon.h:31:15: note: double lcalc_to_double(const short int&)
 ../include/Lcommon.h:32:15: note: double lcalc_to_double(const char&)
 ../include/Lcommon.h:33:15: note: double lcalc_to_double(const long int&)
 ../include/Lcommon.h:34:15: note: double lcalc_to_double(const unsigned
 int&)
 ../include/Lcommon.h:35:15: note: double lcalc_to_double(const long
 unsigned int&)
 /usr/local/gcc-4.6.0/lib/gcc/i386-pc-
 solaris2.10/4.6.0/../../../../include/c++/4.6.0/limits: In static member
 function 'static double std::numeric_limits<double>::denorm_min()':
 /usr/local/gcc-4.6.0/lib/gcc/i386-pc-
 solaris2.10/4.6.0/../../../../include/c++/4.6.0/limits:1529:37: error:
 call of overloaded 'lcalc_to_double(long double)' is ambiguous
 /usr/local/gcc-4.6.0/lib/gcc/i386-pc-
 solaris2.10/4.6.0/../../../../include/c++/4.6.0/limits:1529:37: note:
 candidates are:
 ../include/Lcommon.h:18:15: note: double lcalc_to_double(const Double&)
 ../include/Lcommon.h:29:15: note: double lcalc_to_double(const int&)
 ../include/Lcommon.h:30:15: note: double lcalc_to_double(const long long
 int&)
 ../include/Lcommon.h:31:15: note: double lcalc_to_double(const short int&)
 ../include/Lcommon.h:32:15: note: double lcalc_to_double(const char&)
 ../include/Lcommon.h:33:15: note: double lcalc_to_double(const long int&)
 ../include/Lcommon.h:34:15: note: double lcalc_to_double(const unsigned
 int&)
 ../include/Lcommon.h:35:15: note: double lcalc_to_double(const long
 unsigned int&)
 make[3]: *** [Lriemannsiegel.o] Error 1
 Lriemannsiegel_blfi.cc: In function 'Complex blfi_inter(Double, Double,
 int, int, int, int&)':
 Lriemannsiegel_blfi.cc:388:71: warning: unused variable 'temp10'
 [-Wunused-variable]
 Lriemannsiegel_blfi.cc: In function 'Complex my_zeta(Double, int&)':
 Lriemannsiegel_blfi.cc:913:23: warning: unused variable 'denom' [-Wunused-
 variable]
 Lriemannsiegel_blfi.cc:913:53: warning: unused variable 'temp0' [-Wunused-
 variable]
 make[3]: *** [Lriemannsiegel_blfi.o] Error 1
 make[3]: Target `libLfunction.so' not remade because of errors.
 make[3]: Leaving directory `/export/home/drkirkby/sage-new-
 gcc/sage-4.7.alpha2/spkg/build/lcalc-20100428-1.23.p5/src/src'
 make[2]: *** [all] Error 2
 make[2]: Leaving directory `/export/home/drkirkby/sage-new-
 gcc/sage-4.7.alpha2/spkg/build/lcalc-20100428-1.23.p5/src/src'
 Error building lcalc 'make'

 real    0m1.364s
 user    0m2.455s
 sys     0m0.282s
 sage: An error occurred while installing lcalc-20100428-1.23.p5
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11086>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to