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

Reply via email to