#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: |
------------------------+---------------------------------------------------
= Build environment ==
* Sun Ultra 27 3.33 GHz Intel W3580 Xeon. Quad core. 8 threads. 12 GB RAM
* !OpenSolaris 2009.06 snv_134 X86
* Sage 4.4.2
* gcc 4.4.4
== How gcc 4.4.4 was configured ==
Since the configuration of gcc is fairly critical on !OpenSolaris, here's
how it was built.
{{{
drkir...@hawk:~/sage-4.4.2$ gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc-4.4.4/configure --prefix=/usr/local/gcc-4.4.4
--with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld
--with-gmp=/usr/local --with-mpfr=/usr/local
Thread model: posix
gcc version 4.4.4 (GCC)
}}}
gcc 4.3.4 was failing to build iconv.
== How the Sage build was attempted ==
* 64-bit build. SAGE64 was set to "yes"
* #9008 update zlib to latest upstream release to allow a 64-bit library
to be built.
* #9009 update mercurial spkg to build 64-bit.
* #7982 update sage_fortran so it can build 64-bit binaries.
* Run 'make -k' so the build process continued even though there were
some failures.
== The problem with lcalc ==
The C++ compiler g++ is being invoked with the option -m64 to build 64-bit
objects (as it should be). g++ is then used as a linker and '''may''' need
the -m64 flag again. There is certainly a problem with 32-bit and 64-bit
objects being mixed up, as ''wrong ELF class' always indicates such a
problem on Solaris or !OpenSolaris.
lcalc probably needs LDFLAGS to include -m64, though I've not checked
this. It may or may not already have it.
{{{
g++ -O3 -m64 -g -Wall -O3 -ffast-math -fPIC -I../include -c
Lriemannsiegel_blfi.cc
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 Lriemannsiegel_blfi.cc:16:
/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 Lriemannsiegel_blfi.cc:16:
../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
Lriemannsiegel_blfi.cc: In function ‘Complex blfi_inter(Double, Double,
int, int, int, int&)’:
Lriemannsiegel_blfi.cc:388: warning: unused variable ‘temp10’
Lriemannsiegel_blfi.cc: In function ‘Complex my_zeta(Double, int&)’:
Lriemannsiegel_blfi.cc:913: warning: unused variable ‘denom’
Lriemannsiegel_blfi.cc:913: warning: unused variable ‘temp0’
g++ -O3 -m64 -g -Wall -O3 -ffast-math -fPIC -I../include -c
Ldokchitser.cc
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 Ldokchitser.cc:1:
/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 Ldokchitser.cc:1:
../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
g++ -shared -o libLfunction.so Lglobals.o Lgamma.o Lriemannsiegel.o
Lriemannsiegel_blfi.o Ldokchitser.o
ld: fatal: file Lglobals.o: wrong ELF class: ELFCLASS64
ld: fatal: file processing errors. No output written to libLfunction.so
collect2: ld returned 1 exit status
make[3]: *** [libLfunction.so] Error 1
make[3]: Leaving directory
`/export/home/drkirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23/src/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/export/home/drkirkby/sage-4.4.2/spkg/build/lcalc-20100428-1.23/src/src'
Now copying over lcalc binary
cp: cannot access lcalc
real 0m3.200s
user 0m2.855s
sys 0m0.246s
sage: An error occurred while installing lcalc-20100428-1.23
}}}
== Other problems stopping Sage build on !OpenSolaris ==
See #9026 for a list of issues observed on !OpenSolaris x64. Some will
affect a 64-bit build on other Solaris platforms.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9043>
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.