#9034: flintqs builds as 32-bit despite SAGE64=yes on OpenSolaris x64
------------------------+---------------------------------------------------
   Reporter:  drkirkby  |       Owner:  drkirkby                                
   
       Type:  defect    |      Status:  new                                     
   
   Priority:  major     |   Milestone:  sage-4.4.3                              
   
  Component:  solaris   |    Keywords:                                          
   
     Author:            |    Upstream:  Not yet reported upstream; Will do 
shortly.
   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_111b 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 on !OpenSolaris x64, suggesting it
 may be essential to have a very recent gcc in order to build Sage on
 !OpenSolaris.

 == 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' to find as many issues as possible quickly on
 !OpenSolaris - see #9026 for a list of the issues known to date.

 == The problem with flintqs ==
 {{{
 flintqs-20070817.p4/src/._TonelliShanks.h
 flintqs-20070817.p4/src/TonelliShanks.h
 Finished extraction
 ****************************************************
 Host system
 uname -a:
 SunOS hawk 5.11 snv_134 i86pc i386 i86pc
 ****************************************************
 ****************************************************
 CC Version
 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)
 ****************************************************
 g++ -ansi -c lprels.c -o lprels.o
 -I/export/home/drkirkby/sage-4.4.2/local/include -Wall -Wno-sign-compare
 -fomit-frame-pointer -O3
 lprels.c: In function ‘FILE* flint_fopen(char*, char*)’:
 <snip>
 Successfully installed flintqs-20070817.p4
 }}}

 So no '-m64' flag is added to the g++ command line, so not surprisingly
 'flintqs' does not build as a 64-bit binary. The output from the 'file'
 command confirms this:

 {{{
 drkir...@hawk:~/sage-4.4.2$ file  local/bin/QuadraticSieve
 local/bin/QuadraticSieve:       ELF 32-bit LSB executable 80386 Version 1
 [FPU], dynamically linked, not stripped, no debugging information
 available
 }}}

 == The likely reason for the flintqs problem ==

 spkg-install has this bit of code:

 {{{
 if [ `uname -m` = "x86_64" ]; then
     $CP makefile.opteron makefile
 else
     if [ `uname` = "Darwin" -a "$SAGE64" = "yes" ]; then
         $CP makefile.osx64 makefile
     else
         $CP makefile.sage makefile
     fi
 fi
 }}}

 A cursory glance would suggest the 'makefile.osx64' would work for
 !OpenSolaris, Solaris or most other Unix operating systems, though this
 has not been tested yet.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9034>
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