OKlibrary  0.2.1.6
R.hpp File Reference

Plans regarding installation of R. More...

Go to the source code of this file.


Detailed Description

Plans regarding installation of R.

Todo:
Failing tests
  • However with version 3.0.1 apparently the tests work now. Nevertheless, the incompatabilities below are still reported.
  • With version 2.15.2 and also previous versions we get the "make check" error as documented in the e-mail https://stat.ethz.ch/pipermail/r-devel/2012-October/065002.html to the R-devel list, without any answer.
  • Per e-mail OK was informed that using "R_INSTALL_TAR=$(which tar)" should do the job, but that doesn't seem to help, at least not for version 2.15.2.
  • Apparently Obj-C is used somewhere, so we also build this now with gcc.
  • The following messages in the build-log seem suspicious:
    /usr/bin/ld: skipping incompatible /home/csoliver/OKplatform/ExternalSources/Installations/Gcc/4.5.4/lib/libgfortran.so when searching for -lgfortran
    /usr/bin/ld: skipping incompatible /home/csoliver/OKplatform/ExternalSources/Installations/Gcc/4.5.4/lib/libgfortran.a when searching for -lgfortran
    /usr/bin/ld: skipping incompatible /home/csoliver/OKplatform/ExternalSources/Installations/Gcc/4.5.4/lib/libgomp.so when searching for -lgomp
    /usr/bin/ld: skipping incompatible /home/csoliver/OKplatform/ExternalSources/Installations/Gcc/4.5.4/lib/libgomp.a when searching for -lgomp
    /usr/bin/ld: skipping incompatible /home/csoliver/OKplatform/ExternalSources/Installations/Gcc/4.5.4/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /home/csoliver/OKplatform/ExternalSources/Installations/Gcc/4.5.4/lib/libgcc_s.so when searching for -lgcc_s
       
    Why that?
  • Apparently there is a (new) incompatibility between glibc (version 2.0) and libgcc? Apparently libgcc is built into our gcc-installation. Then perhaps we need also a local glibc installation?
    1. But there seems no information available on possible incompatibilities?
    2. The glibc version is 2.15 (obtained by "> /lib/libc.so.6"). No incompatability is reported?
  • The final error message is
    running code in 'reg-examples1.R' ... OK
    running code in 'reg-examples2.R' ... OK
    running code in 'reg-packages.R' ...make[4]: *** [reg-packages.Rout] Error 1
    make[4]: Leaving directory `/home/csoliver/OKplatform/ExternalSources/builds/R/R-2.15.2/tests'
    make[3]: *** [test-Reg] Error 2
       
  • Disabling "make check" makes the build compiling, and apparently at least our functionality works.
Todo:
DONE (installed 2.14.0) Installing 2.12.1
Todo:
DONE (building now with current gcc, that is, version 4.5.2, which has Gmp and Mpfr statically linked) Local installation of gfortran
  • Often gfortran is not installed.
  • DONE (problems solved now) While it shouldn't be a problem to install gfortran locally.
    1. DONE Just add "fortran" to gcc_enable_languages_okl.
    2. Yet we have a build-error; see "Local build of Fortran fails" in Buildsystem/ExternalSources/SpecialBuilds/plans/Gcc.hpp.
  • DONE (the final solution below seems alright) Employing the local gfortran:
    1. Prefixing the configure-call with "F77=$(gfortran_call_okl)", we get the R-build-error
      checking whether mixed C/Fortran code can be run... configure: WARNING: cannot run mixed C/Fortran code
      configure: error: Maybe check LDFLAGS for paths to Fortran libraries?
      make: *** [R_base] Error 1
           
      (on csltok (Suse 11.3) and cs-wsok (Suse 10.0)).
    2. The R-installation also uses gcc, so also "CC=$(gcc_call_okl)" is needed; however this doesn't solve the problem.
    3. And apparently also C++ is used, so "CXX=$(gpp_call_okl)" is also needed; doesn't solve the problem.
    4. Using LDFLAGS="-Wl,-rpath=$(gcc_installation_dir_okl)/lib" should be appropriate, but doesn't solve the problem. We get
      checking for Fortran 77 libraries of /home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gfortran...  -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4 -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../.. -lgfortranbegin -lgfortran -lm
           
    5. The configure-help gives as an example for using LDFLAGS "e.g. -L<lib dir>", so using LDFLAGS="-L $(gcc_installation_dir_okl)/lib" which yields
      checking for Fortran 77 libraries of /home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gfortran...  -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4 -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../.. -lgfortranbegin -lgfortran -lm /home/kullmann/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/libgfortran.a
           
      which looks okay, but the error stays the same. Same also when using "lib64" instead.
    6. There are examples using also "FC=${F77}", so well, not well specified, but can't hurt, so we also use it.
    7. The configure-call should be
      	F77=$(gfortran_call_okl) FC=$${F77} CC=$(gcc_call_okl) CXX=$(gpp_call_okl) LDFLAGS="-L $(gcc_installation_dir_okl)/lib" ./configure --prefix=$(R_install_directory_okl); $(postcondition) \
           
    8. The documentation says "However, if CC is gcc, the matching FORTRAN compiler (g77 for gcc 3 and gfortran for gcc 4) is used if available.". Does this mean F77 should not be specified? However then it doesn't find the Fortran-compiler; this is an error in the R-documentation (or in the R-build --- a *local* gcc is not recognised).
    9. The documentation speaks also about LD_LIBRARY_PATH "or your system's equivalent" ? However this is not mentioned in the configure-help-output, so it should be LDFLAGS.
    10. Ask on the R mailing list. System information:
      > version
      platform       x86_64-unknown-linux-gnu     
      arch           x86_64                       
      os             linux-gnu                    
      system         x86_64, linux-gnu            
      status                                      
      major          2                            
      minor          11.0                         
      year           2010                         
      month          04                           
      day            22                           
      svn rev        51801                        
      language       R                            
      version.string R version 2.11.0 (2010-04-22)
           
  • DONE (we have one full gcc-4.1.2-installation now, and later we will have one full current-gcc-installation) Since we build gcc twice, there seem to be considerable overlaps; however once we move to newer gcc-versions, this will vanish: first we install gcc,g++ (only) with version 4.1.2, then with these gcc's we build (special) gmp, mpfr, and then using these gcc and these libraries we build the new gcc (in full, with java and fortran) and everything else.
  • DONE (since we have the system-library-versions of gmp and mpfr now, no need that gcc builds it again) Better, of course, if we could just let the newer versions of gcc build their own gmp+mpfr (see "GCC 4.1.2 will not build on systems without GMP with MPFR support" in Buildsystem/ExternalSources/SpecialBuilds/plans/Gcc.hpp) --- then we could use the system-compiler to build the newest gcc (in full), while gcc in version 4.1.2 (with gmp) would only be there for backward-support of old C++-packages.
Bug:
DONE (doesn't show up on new laptop; might be language-related, since currently on the laptop also English is used, but so well) Can't output graphics
  • For example
    > hist(c(1,2,3,2,1))
    Fehler in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...) :
      X11 Schrift -adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*, Typ 2 in Größe 14 konnte nicht geladen werden
       
    on csltok.
  • Perhaps this is language-related, or related to the rather old version (9.2) of Suse-Linux running on csltok (it works on cs-wsok).
Todo:
Packages
Todo:
Improving the docus-page
  • Prerequisites:
    1. What precisely is needed from the gcc-suite?
    2. What is mpfr? Is it needed still? In version 2.11.0 I can't find something on it anymore?
Todo:
Building dvi,pdf,info-documentation
  • On csltok "make dvi" fails --- is this due to old tex-tools?
  • Likely "make pdf" sits on top of dvi.
  • What can we do with the info-documentation?
  • How do we get documentation on the packages?

Definition in file R.hpp.