#8285: Update R's spkg-install to work on Solaris
----------------------------+-----------------------------------------------
   Reporter:  drkirkby      |       Owner:  drkirkby                            
        
       Type:  defect        |      Status:  new                                 
        
   Priority:  major         |   Milestone:  sage-4.3.3                          
        
  Component:  solaris       |    Keywords:                                      
        
     Author:  David Kirkby  |    Upstream:  None of the above - read trac for 
reasoning.
   Reviewer:                |      Merged:                                      
        
Work_issues:                |  
----------------------------+-----------------------------------------------
 == Build environment ==
  * Sage 4.3.3.alpha0, which includes R 2.10.1
  * Sun Blade 1000 with two 900 MHz UltraSPARC III+ CPUs, 2 GB RAM. (This
 is the same sort of processor as 't2', but is a much older machine, though
 still quicker than t2 for building Sage!)
  * Solaris 10 03/2005 (The first release of Solaris 10).
  * gcc 4.4.3 (The latest as I write).

 == The problem ==
 Someone updated R in Sage, without testing on Solaris. The update caused
 several problems on Solaris - the most obvious one being R now needs
 iconv, which Sage does not currently include.

 However, despite a new standard package for iconv #8191, R would still not
 build on Solaris, but failed with:
   {{{
 Undefined                       first referenced
  symbol                             in file
 uiter_setUTF8                       libR.a(util.o)
 ucol_strcollIter                    libR.a(util.o)
 ld: fatal: Symbol referencing errors. No output written to R.bin
 collect2: ld returned 1 exit status
   }}}

 == The Solution ==
 Several changes were made to R's spkg-install file, to fix not only the
 fact R would not build at all, but also some other enhancements. The
 updated package can be found at

 http://boxen.math.washington.edu/home/kirkby/Solaris-fixes/r-2.10.1.p0/

  * Adds the undocumented option
   {{{
   --without-ICU
   }}}
   as that allows R to build without the ICU library from http://site.icu-
 project.org/ The option was suggested to me in a private email after a
 post to r-help <at> r-project.org. The build now shows:
   {{{
 Making Sage/Python scripts relocatable...
 Making Sage/Python scripts relocatable...
 Making script relocatable
 Making script relocatable
 Finished installing rpy2-2.0.8.spkg
 Finished installing rpy2-2.0.8.spkg

 real    25m49.233s
 user    22m33.551s
 sys     3m1.363s
 Successfully installed r-2.10.1.p0
  }}}
  * Ensures SAGE64 will attempt a 64-bit build on any platform, not just OS
 X. (I've not actually built R 64-bit.)
  * Removed all references to the option
   {{{
 --with-iconv=no
    }}}
   as R '''must''' have iconv now - it is no longer optional. #8191 is an
 iconv library.
  * Better detection for X support on Solaris. (The previous test would
 always indicate R could not be built with X support, despite the fact it
 could be). R's configure script should work this out itself, but some
 comments in spkg-install suggest this was not working right on a OSX Intel
 10.5.1. '''The changes I made will only impact Solaris'''.
  * Added some hopefully helpful comments in spkg-install, as I believe
 there are still multiple issues in that file - see  #8274


 == How to test ==
 This should have no impact on any platform other than Solaris, though of
 course it is useful to test on multiple platforms to be 100% sure.

 To test on Solaris 10, one needs access to a SPARC box. Some notes about
 how to test on 't2' are given at

 http://wiki.sagemath.org/devel/Building-Sage-on-the-T5240-t2

 First one needs to add a new standard package for iconv - #8191.

  * Get the spkg from http://boxen.math.washington.edu/home/kirkby/new-
 packages/iconv/iconv-1.13.1.spkg and place it in $SAGE_ROOT/spkg/standard
  * Copy http://trac.sagemath.org/sage_trac/raw-attachment/ticket/8191/deps
 to $SAGE_ROOT/spkg/standard/deps
  * Copy http://trac.sagemath.org/sage_trac/raw-
 attachment/ticket/8191/install to $SAGE_ROOT/spkg/install (This must be
 made executable - it will probably lose the execute permission when
 downloading)

 Once that is all down, typing 'make' should allow R to build, and you
 should get:
    {{{
 Successfully installed r-2.10.1.p0
    }}}

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