[R] R 68.3 on OSF V4.0 problems SOLVED

Paul Szabo psz at maths.usyd.edu.au
Mon Mar 15 02:04:49 CET 1999

I wrote about my problems building R-0.63.3 on a Digital Alpha running OSF
V4.0D. Thanks to the suggestion Jonathan.Yuen at tvs.slu.se, I tried using the
DEC CC compiler instead of gcc, and it worked just fine. (Seeing that I
needed gmake to build, it never occured to me to try DEC CC. It seems that
you cannot combine DEC F77 with gcc; I do not have g77 to try.)

Below is a set of instructions which happily builds R on my Alphas.

Paul Szabo - System Manager   //        School of Mathematics and Statistics
psz at maths.usyd.edu.au         //   University of Sydney, NSW 2006, Australia


#!/bin/ksh -

set -x

gzcat $V.tgz | tar xf -
cd $V

: 'Versions (for the record):'
: '% uname -a'
: 'OSF1 turin.maths.usyd.edu.au V4.0 878 alpha'
: '% sizer -v '
: 'Digital UNIX V4.0D  (Rev. 878); Tue Dec 15 07:43:31 EST 1998 '
: 'Set values in config.site:'
: 'use DEC C and F77 compilers with appropriate options, GNU make.'
: '(Cannot use gcc with DEC F77; we do not have g77)'
: '(Need GNU make, DEC make fails in several respects)'
cp -ip config.site config.site.bak <&- >&- 2>&-
cat <<EOF >> config.site
CFLAGS='-g3 -O'
FFLAGS='-g3 -O'


: 'Fix some bugs:'
: 'Will get compiler warnings:'
: '  In this statement, the expression "j=++j%k" modifies the variable "j" more'
: '  than once without an intervening sequence point.  This behavior is undefined.'
: 'in src/main/subassign.c, line 928 and src/main/subset.c, line 376.'
: 'What to do about them (do they matter)?'
: 'Fix a line in plot.c (look in PLATFORMS file)'
perl -i.bak -pe 's/(if \(FINITE.asp. .. asp > 0)(\) \{)$/$1 \&\& asp != NA_REAL$2/' src/main/plot.c
: 'Reportedly there are bugs in src/graphics/graphics.c : add the line'
: ' extern double pow(double, double); '
: 'to Mathlib.h ??'
: 'No dependency: only remake when needed'
perl -i.bak -pe 's/::$/:/' src/unix/Makefile
: 'Get rid of pesky "ARGUMENT '"''"' __ignored__" message'
: '(This bug is in DEC /bin/sh, not in R: use ksh instead)'
perl -i.bak -pe 's:/bin/sh:/bin/ksh:' src/scripts/R.sh
: '(I like to make my installations simple... can R adopt this scheme?)'
: 'Install man pages in RHOME, with symlinks from /usr/local/man/man1'
perl -i.bak -pe 's/mandir/rhome/ unless m/cd/; s/^\t.(.cd ..mandir)/\t-$1/; print "\t  for f in R.1 Rdconv.1; do rm -f \$\$f; \$(LN_S) \$(rhome)/man1/\$\$f \$\$f; done; \\\n" if m/in Rd2txt/' doc/Makefile
: 'Install with symlinks from /usr/local/bin'
perl -i.bak -pe 's:^.*cat .* ..bindir./R$:\techo Not doing /usr/local/bin/R yet:; s: ..bindir./R : : if m/chmod/; s/^.*(for f in )(Rd2txt )/\t-$1R $2/; s:^(.*)..INSTALL. (.*) (..bindir.):$1\$(LN_S) \$(rhome)/$2 $3:;' Makefile


: 'To install the lot, need to do as root:
  mkdir /usr/local/lib/R
  chown psz /usr/local/lib/R
On the machine with /usr/local do (as psz):
  gmake install
and finally again as root:
  chown -R bin.bin /usr/local/lib/R
  chmod -R go=rX /usr/local/lib/R
  ln -s /usr/local/lib/R/man1/R.1      /usr/local/man/man1
  ln -s /usr/local/lib/R/man1/Rdconv.1 /usr/local/man/man1
  ln -s Rdconv.1 /usr/local/man/man1/Rd2txt.1
  ln -s Rdconv.1 /usr/local/man/man1/Rdindex.1
  ln -s Rdconv.1 /usr/local/man/man1/Sd2Rd.1
  ln -s /usr/local/lib/R/bin/R         /usr/local/bin
  ln -s /usr/local/lib/R/bin/Rd2txt    /usr/local/bin
  ln -s /usr/local/lib/R/bin/Rdconv    /usr/local/bin
  ln -s /usr/local/lib/R/bin/Rdindex   /usr/local/bin
  ln -s /usr/local/lib/R/bin/Sd2Rd     /usr/local/bin
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list