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

Reply via email to