#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: |
------------------------+---------------------------------------------------
Description changed by drkirkby:
Old description:
> = 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.
New description:
== 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#comment:2>
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.