Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#13443 closed enhancement (fixed)

Some clean up of R spkg

Reported by: jdemeyer Owned by: tbd
Priority: major Milestone: sage-5.4
Component: packages: standard Keywords: r-project spkg
Cc: kcrisman Merged in: sage-5.4.beta2
Authors: Jeroen Demeyer Reviewers: Karl-Dieter Crisman, John Palmieri
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #13348, #9906 Stopgaps:

Status badges

Description (last modified by jdemeyer)

Clean up the R spkg, also proof-of-concept for #13348.

spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/r-2.14.0.p6.spkg

r-2.14.0.p6 (Jeroen Demeyer, 10 September 2012)

  • #13443: some clean up of spkg-install.
  • Compile R with optimization (at -O2 level).
  • No longer pass -I and -L options to gcc (see #13348).
  • No longer use sage_fortran (see #13349).
  • Re-enable parallel make install, which works now (see #13428).

Attachments (1)

r-2.14.0.p6.diff (7.9 KB) - added by jdemeyer 9 years ago.
Diff for the R spkg. For reference / review only.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 9 years ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Description modified (diff)
  • Keywords r-project spkg added

comment:2 Changed 9 years ago by jdemeyer

  • Cc kcrisman added

Changed 9 years ago by jdemeyer

Diff for the R spkg. For reference / review only.

comment:3 Changed 9 years ago by jdemeyer

  • Description modified (diff)
  • Status changed from new to needs_review

comment:4 follow-ups: Changed 9 years ago by kcrisman

Okay, the diff looks okay to this somewhat untrained eye. A few questions that are doubtless not that important.

  • I still get a lot of "make -jN disabled setting jobserver mode" and the like - but it seems like it's obeying the j. ?
  • I don't see the extra C flags that #13348 supposedly adds. gcc -std=gnu99 -I. -I. -I../../../src/include -I../../../src/include -DHAVE_CONFIG_H -fopenmp -fpic -g -O2 -fvisibility=hidden -c pcre_xclass.c -o pcre_xclass.o but probably I don't understand this.

I had trouble on sage.math. It installs, but:

installing translations:
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/en/LC_MESSAGES
  en
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/en_GB/LC_MESSAGES
  en_GB
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/es/LC_MESSAGES
  es
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/fr/LC_MESSAGES
  fr
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/de/LC_MESSAGES
  de
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/it/LC_MESSAGES
  it
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/ja/LC_MESSAGES
  ja
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/ko/LC_MESSAGES
  ko
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/nn/LC_MESSAGES
  nn
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/pt_BR/LC_MESSAGES
  pt_BR
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/ru/LC_MESSAGES
  ru
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/tr/LC_MESSAGES
  tr
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/zh_CN/LC_MESSAGES
  zh_CN
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/zh_TW/LC_MESSAGES
  zh_TW
mkdir -p -- /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/local/lib/R/share/locale/en@quot/LC_MESSAGES
  en@quot
make[1]: Leaving directory `/scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/spkg/build/r-2.14.0.p6/src/po'

real	9m10.329s
user	13m9.990s
sys	1m7.740s
Successfully installed r-2.14.0.p6
cat: /scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/VERSION.txt: No such file or directory
Deleting temporary build directory
/scratch/kcrisman/sage-5.4.beta1-sage.math.washington.edu-x86_64-Linux/spkg/build/r-2.14.0.p6
Making Python scripts relocatable...
Finished installing r-2.14.0.p6.spkg

What is up with that cat error message?

comment:5 in reply to: ↑ 4 Changed 9 years ago by jdemeyer

Replying to kcrisman:

What is up with that cat error message?

That's a bug fixed by #13457. bdisted distributions were missing VERSION.txt.

Last edited 9 years ago by jdemeyer (previous) (diff)

comment:6 in reply to: ↑ 4 Changed 9 years ago by jdemeyer

Replying to kcrisman:

  • I still get a lot of "make -jN disabled setting jobserver mode" and the like - but it seems like it's obeying the j. ?

I guess you mean

warning: -jN forced in submake: disabling jobserver mode.

Anyway, that's really a bug in the Sage documentation:

MAKE="make -j8" make

is not the correct way to do things, one should use MAKEFLAGS instead (similar to the difference between CC and CFLAGS). There is a work-around for this "mistake" when compiling using spkg/install (e.g. when issuing make from SAGE_ROOT), but not when installing using ./sage -i.

In any case, it has nothing to do with this specific package.

comment:7 in reply to: ↑ 4 Changed 9 years ago by jdemeyer

Replying to kcrisman:

  • I don't see the extra C flags that #13348 supposedly adds. gcc -std=gnu99 -I. -I. -I../../../src/include -I../../../src/include -DHAVE_CONFIG_H -fopenmp -fpic -g -O2 -fvisibility=hidden -c pcre_xclass.c -o pcre_xclass.o but probably I don't understand this.

Exactly, these are implicit options. It's similar to a hypothetical -I/usr/include option.

The compiler always looks for include files in /usr/include, so you never need to add -I/usr/include. With #13348, $SAGE_ROOT/local/include becomes an automatic directory for includes, just like /usr/include already is.

comment:8 Changed 9 years ago by kcrisman

  • Reviewers set to Karl-Dieter Crisman

Thanks for clarifying these things. It all seems to work on Linux and (new) Mac, relevant tests and SAGE_CHECK pass. I also tried some R stuff and it seems to be working.

I'm still a little uncomfortable giving final positive review just because of the big changes in the spkg-install, but it certainly all looks ok. Maybe someone else can just make sure they like the syntax; R itself seems to be fine, and it looks like all relevant flags are still passed in the right ways.

comment:9 Changed 9 years ago by jhpalmieri

  • Status changed from needs_review to positive_review

The changes to spkg-install look fine to me.

comment:10 Changed 9 years ago by kcrisman

  • Reviewers changed from Karl-Dieter Crisman to Karl-Dieter Crisman, John Palmieri

Thanks.

comment:11 Changed 9 years ago by jdemeyer

  • Merged in set to sage-5.4.beta2
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:12 follow-up: Changed 8 years ago by leif

This again breaks linking against Sage's libreadline; R's configure doesn't support specifying a (non-standard) location for readline, only [--with-readline=]yes (default) and no, where everything but no is interpreted as yes.

comment:13 in reply to: ↑ 12 Changed 8 years ago by leif

Replying to leif:

This again breaks linking against Sage's libreadline; R's configure doesn't support specifying a (non-standard) location for readline, only [--with-readline=]yes (default) and no, where everything but no is interpreted as yes.

See #14709 for the general problem, and #14706 where R is supposed to get upgraded (which alone doesn't fix the issue; we'd have to revert the changes to R's spkg-install, or patch R's configure accordingly).

Note: See TracTickets for help on using tickets.