G'day Brian,

On Sat, 18 May 2013 10:28:43 +0100
Prof Brian Ripley <rip...@stats.ox.ac.uk> wrote:

[...]
> > Is it necessary for R >= 3.0.1 to have one build as
> > "main"-architecture and the other one as sub-architecture?  I could
> > not find anything in the NEWS file or the Admin manual that
> > indicated that this would now be necessary.
> 
> Not exclusively, but as the Mac build no longer uses this, we do need 
> people who do to test pre-releases.   One of us needs to build such a 
> setup and test it ....

Either that, or amend the administration and installation manual to
state that one installation should not be a sub-architecture
installation.  :)

But the latter solution also seems to have some problems.  My usual
install script did the following:

1) Run ./configure with 'r_arch=32' (and a few other options) using a
   config.site, configured for a 32bit build; followed by make  
2) make check ; make install 
3) `make distclean'; run ./configure with 'r_arch=64' (and a few other
   options using a config.site configured for a 64 bit build; followed
   by make
4) make check ; make install
5) make pdf info; make install-pdf install-info

When trying to install Rgraphviz afterwards (mmh, this is a
BioConductor package and not a CRAN package, so perhaps I should ask on
their lists?), Rgrahviz couldn't find the correct compiler settings as
"R CMD config ..." did not work (as reported originally).

So I changed my install script to remove the 'r_arch=64' in step 3.
(The modified script is attached.)  But now, trying to install
Rgraphviz falls over earlier when a dependencies of Rgraphviz,
BiocGenerics, is installed.  Trying to install BiocGenerics fails with:

[...]
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - 32
*** arch - R
ERROR: sub-architecture 'R' is not installed
ERROR: loading failed for 'R'
* removing '/opt/R/R-3.0.1/lib/R/library/BiocGenerics'

I have no idea why the process tries to check for an 'arch - R'.  But
this seems to be happening for packages that do not contain code that
needs to be compiled, another example is 'car' which is needed by 'AER'.

So I am bit puzzled how I should change my scripts.  Does step 3 needs
something stronger than 'make distclean'?  Or should the 'r_arch=32' be
dropped in step 1 but step 3 should use 'r_arch=64'?

Essentially, I would like to install 32bit and 64bit builds on my
machines, with one or both as sub-architectures (to save space) and
with the 64bit the 'default', i.e. the one that is run by
${R_HOME}/bin/R.

Cheers,
        
        Berwin
#!/bin/bash -e

VERSION=3.0.1

part1a ()
{
cd /opt/src/R-$VERSION
echo "**********************"
echo "*** configure (32bit) "
echo "**********************"
cp ../R-config.site-32 config.site
./configure --prefix=/opt/R/R-$VERSION --with-blas --with-lapack 
--enable-R-shlib r_arch=32 | tee CONFIGURE_32
echo "*********************"
echo "*** make (32 bit)    "
echo "*********************"
make -j6
}

part2()
{
echo "*********************"
echo "*** make check       "
echo "*********************"
make check
make install    
}

part1b ()
{
echo "**********************"
echo "*** configure (64bit) "
echo "**********************"
make distclean
cp ../R-config.site-64 config.site
./configure --prefix=/opt/R/R-$VERSION --with-blas --with-lapack  
--enable-R-shlib | tee CONFIGURE_64
echo "*********************"
echo "*** make (64 bit)    "
echo "*********************"
make -j6
}

part3 ()
{
echo "**********************"
echo "*** make documentation"
echo "**********************"
make pdf info
make install-pdf install-info
}

export http_proxy=http://proxy.uwa.edu.au:8888
export LANG=en_AU.UTF-8
echo "Installing R-$VERSION"
part1a  > /opt/src/R-$VERSION-LOG 2>&1
part2   > /opt/src/R-$VERSION-CheckLOG 2>&1
part1b >> /opt/src/R-$VERSION-LOG 2>&1
part2  >> /opt/src/R-$VERSION-CheckLOG 2>&1
part3  >> /opt/src/R-$VERSION-LOG 2>&1
echo "Done"
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to