#9043: lcalc failing to build on OpenSolaris x64.
------------------------+---------------------------------------------------
Reporter: drkirkby | Owner: drkirkby
Type: defect | Status: new
Priority: major | Milestone: sage-4.4.3
Component: solaris | Keywords:
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------+---------------------------------------------------
Comment(by drkirkby):
== The cause and solution ==
The problem was that CXXFLAGS was not being imported properly into
patches/Makefile.sage. Although CXX was set correctly in spkg-install, the
make file did not honor this properly.
This was simple to fix, by adding 'CXXFLAG64' to the list of variables
imported by patches/Makefile.sage. During a 64-bit build with
"SAGE64=yes", this is set to -m64 (by default).
An updated package can be found at
http://boxen.math.washington.edu/home/kirkby/patches/lcalc-20100428-1.23.p0.spkg
Although there are lots of warnings, these are in the original code, so
are not a result of the change makefile.
== Testing of updated 'lcalc' on !OpenSolaris x64 ==
Here's is part of the output from the Sun Ultra 27, which showed the
problem when building 'lcalc' as 64-bit. As you can see, it now builds. A
check was made that all files installed are 64-bit, and this is indeed the
case.
{{{
cmdline.c:96: warning: deprecated conversion from string constant to
‘char*’
g++ -O3 -m64 -Wall -O3 -ffast-math -fPIC -I../include Lglobals.o
Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
Lcommandline_globals.o Lcommandline_misc.o Lcommandline_numbertheory.o
Lcommandline_values_zeros.o Lcommandline_elliptic.o Lcommandline_twist.o
Lcommandline.o cmdline.o -L/export/home/drkirkby/sage-4.4.2/local/lib
-lpari -lmpir -o lcalc
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23.p0/src/src'
make examples
make[1]: Entering directory
`/export/home/drkirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23.p0/src/src'
g++ -O3 -m64 -Wall -O3 -ffast-math -fPIC -I../include
example_programs/example.cc libLfunction.so -o example_programs/example
In file included from /usr/local/gcc-4.4.4/lib/gcc/i386-pc-
solaris2.11/4.4.4/../../../../include/c++/4.4.4/backward/strstream:47,
from ../include/L.h:34,
from example_programs/example.cc:2:
/usr/local/gcc-4.4.4/lib/gcc/i386-pc-
solaris2.11/4.4.4/../../../../include/c++/4.4.4/backward/backward_warning.h:28:2:
warning: #warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult the
file backward_warning.h. To disable this warning use -Wno-deprecated.
In file included from ../include/L.h:537,
from example_programs/example.cc:2:
../include/Lvalue.h:187: warning: ignoring #pragma omp parallel
../include/Lvalue.h:324: warning: ignoring #pragma omp parallel
../include/Lvalue.h:329: warning: ignoring #pragma omp parallel
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
int]’:
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype = int]’
example_programs/example.cc:88: instantiated from here
../include/Lvalue.h:502: warning: unused variable ‘t_0’
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
std::complex<double>]’:
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype =
std::complex<double>]’
example_programs/example.cc:90: instantiated from here
../include/Lvalue.h:502: warning: unused variable ‘t_0’
In file included from ../include/L.h:537,
from example_programs/example.cc:2:
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::find_delta(Complex, Double) [with ttype = int]’:
../include/Lvalue.h:517: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
int]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype = int]’
example_programs/example.cc:88: instantiated from here
../include/Lvalue.h:37: warning: unused variable ‘f2’
In file included from ../include/L.h:42,
from example_programs/example.cc:2:
../include/Lgamma.h: In function ‘Complex gamma_sum(Complex, int, ttype*,
int, Double, Complex, Double, Long, Complex, const char*) [with ttype =
int]’:
../include/Lvalue.h:526: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
int]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype = int]’
example_programs/example.cc:88: instantiated from here
../include/Lgamma.h:622: warning: unused variable ‘y’
../include/Lgamma.h:622: warning: unused variable ‘y2’
../include/Lgamma.h:622: warning: unused variable ‘y3’
In file included from ../include/L.h:537,
from example_programs/example.cc:2:
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::find_delta(Complex, Double) [with ttype =
std::complex<double>]’:
../include/Lvalue.h:517: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
std::complex<double>]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype =
std::complex<double>]’
example_programs/example.cc:90: instantiated from here
../include/Lvalue.h:37: warning: unused variable ‘f2’
In file included from ../include/L.h:42,
from example_programs/example.cc:2:
../include/Lgamma.h: In function ‘Complex gamma_sum(Complex, int, ttype*,
int, Double, Complex, Double, Long, Complex, const char*) [with ttype =
std::complex<double>]’:
../include/Lvalue.h:526: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
std::complex<double>]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype =
std::complex<double>]’
example_programs/example.cc:90: instantiated from here
../include/Lgamma.h:622: warning: unused variable ‘y’
../include/Lgamma.h:622: warning: unused variable ‘y2’
../include/Lgamma.h:622: warning: unused variable ‘y3’
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_Riemann_sum(Complex, const char*) [with ttype
= int]’:
../include/Lvalue.h:489: warning: control reaches end of non-void function
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_Riemann_sum(Complex, const char*) [with ttype
= std::complex<double>]’:
../include/Lvalue.h:489: warning: control reaches end of non-void function
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23.p0/src/src'
Now copying over lcalc binary
Now copying over lcalc library
real 0m23.105s
user 0m22.026s
sys 0m0.905s
Successfully installed lcalc-20100428-1.23.p0
}}}
== Building the updated lcalc on OS X ==
The updated lcalc package was built on OS X.
{{{
Now copying over lcalc binary
Now copying over lcalc library
real 0m40.999s
user 0m32.921s
sys 0m2.457s
Successfully installed lcalc-20100428-1.23.p0
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing lcalc-20100428-1.23.p0.spkg
[kir...@bsd sage-4.4.2]$ uname -a
Darwin bsd.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09
PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386 i386 MacPro1,1 Darwin
}}}
== Building the updated lcalc on Linux ==
{{{
g++ -O3 -Wall -O3 -ffast-math -fPIC -I../include Lglobals.o
Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
Lcommandline_globals.o Lcommandline_misc.o Lcommandline_numbertheory.o
Lcommandline_values_zeros.o Lcommandline_elliptic.o Lcommandline_twist.o
Lcommandline.o cmdline.o -L/home/kirkby/sage-4.4.2/local/lib -lpari
-lmpir -o lcalc
make[1]: Leaving directory
`/home/kirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23.p0/src/src'
make examples
make[1]: Entering directory
`/home/kirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23.p0/src/src'
g++ -O3 -Wall -O3 -ffast-math -fPIC -I../include
example_programs/example.cc libLfunction.so -o example_programs/example
In file included from /usr/include/c++/4.2/backward/strstream:51,
from ../include/L.h:34,
from example_programs/example.cc:2:
/usr/include/c++/4.2/backward/backward_warning.h:32:2: warning: #warning
This file includes at least one deprecated or antiquated header. Please
consider using one of the 32 headers found in section 17.4.1.2 of the C++
standard. Examples include substituting the <X> header for the <X.h>
header for C++ includes, or <iostream> instead of the deprecated header
<iostream.h>. To disable this warning use -Wno-deprecated.
In file included from ../include/L.h:537,
from example_programs/example.cc:2:
../include/Lvalue.h:187: warning: ignoring #pragma omp parallel
../include/Lvalue.h:324: warning: ignoring #pragma omp parallel
../include/Lvalue.h:329: warning: ignoring #pragma omp parallel
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
int]’:
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype = int]’
example_programs/example.cc:88: instantiated from here
../include/Lvalue.h:502: warning: unused variable ‘t_0’
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
std::complex<double>]’:
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype =
std::complex<double>]’
example_programs/example.cc:90: instantiated from here
../include/Lvalue.h:502: warning: unused variable ‘t_0’
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::find_delta(Complex, Double) [with ttype = int]’:
../include/Lvalue.h:517: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
int]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype = int]’
example_programs/example.cc:88: instantiated from here
../include/Lvalue.h:37: warning: unused variable ‘f2’
../include/Lgamma.h: In function ‘Complex gamma_sum(Complex, int, ttype*,
int, Double, Complex, Double, Long, Complex, const char*) [with ttype =
int]’:
../include/Lvalue.h:526: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
int]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype = int]’
example_programs/example.cc:88: instantiated from here
../include/Lgamma.h:622: warning: unused variable ‘y’
../include/Lgamma.h:622: warning: unused variable ‘y2’
../include/Lgamma.h:622: warning: unused variable ‘y3’
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::find_delta(Complex, Double) [with ttype =
std::complex<double>]’:
../include/Lvalue.h:517: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
std::complex<double>]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype =
std::complex<double>]’
example_programs/example.cc:90: instantiated from here
../include/Lvalue.h:37: warning: unused variable ‘f2’
../include/Lgamma.h: In function ‘Complex gamma_sum(Complex, int, ttype*,
int, Double, Complex, Double, Long, Complex, const char*) [with ttype =
std::complex<double>]’:
../include/Lvalue.h:526: instantiated from ‘Complex
L_function<ttype>::value_via_gamma_sum(Complex, const char*) [with ttype =
std::complex<double>]’
../include/Lvalue.h:627: instantiated from ‘Complex
L_function<ttype>::value(Complex, int, const char*) [with ttype =
std::complex<double>]’
example_programs/example.cc:90: instantiated from here
../include/Lgamma.h:622: warning: unused variable ‘y’
../include/Lgamma.h:622: warning: unused variable ‘y2’
../include/Lgamma.h:622: warning: unused variable ‘y3’
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_Riemann_sum(Complex, const char*) [with ttype
= int]’:
../include/Lvalue.h:487: warning: control reaches end of non-void function
../include/Lvalue.h: In member function ‘Complex
L_function<ttype>::value_via_Riemann_sum(Complex, const char*) [with ttype
= std::complex<double>]’:
../include/Lvalue.h:487: warning: control reaches end of non-void function
make[1]: Leaving directory
`/home/kirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23.p0/src/src'
Now copying over lcalc binary
Now copying over lcalc library
real 0m31.703s
user 0m28.860s
sys 0m2.480s
Successfully installed lcalc-20100428-1.23.p0
Now cleaning up tmp files.
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing lcalc-20100428-1.23.p0.spkg
kir...@sage:~/sage-4.4.2$ uname -a
Linux sage.math.washington.edu 2.6.24-26-server #1 SMP Tue Dec 1 18:26:43
UTC 2009 x86_64 GNU/Linux
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9043#comment:3>
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.