#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.