Berwin A Turlach
2008-Feb-13 10:58 UTC
[Rd] On Section 2.5:Sub-architectures in the R Installation and Administration manual
Dear all, there are a few issues regarding Section 2.5: Sub-architectures in the R Installation and Administration manual (referring to Version 2.6.2) that I would like to raise: 1.) The manual states: @code{R CMD INSTALL} will detect if more that one build is installed and try to install packages with the appropriate library objects for each. This will not be done if the package has an executable @code{configure} script or a @file{src/Makefile} file. In such cases you can install for extra builds by @example R --arch=@var{name} CMD INSTALL --libs-only @var{pkg}(s) @end example My experience with the --libs-only flag is that if the installation of the package fails, then the package is removed. Is this really desired behaviour? If yes, then the manual should perhaps warn that this might happen. However, in my opinion, this behaviour is undesirable. As I understand it, `--libs-only' would only be used if the package was already successfully installed for (at least) one sub-architecture. Why should the failure to install it for another sub-architecture remove the complete package, including the successful build for another sub-architecture. 2.) On my machines (running Kubuntu Linux (gutsy)), I usually install a 32 bit version, by specifying r_arch=32 to the configure line, and a 64 version, by specifying r_arch=64 to the configure line. This seems to be in line with the following recommendation in the manual: If you want to mix sub-architectures compiled on different platforms (for example @cputype{x86_64} Linux and @cputype{i686} Linux), it is wise to use explicit names for each, and you may also need to set @option{libdir} to ensure that they install into the same place. However, after installing R 2.6.2 in such manner, trying to start R resulted in the following error message: Error: R executable not found As far as I can tell, this is due to the code that was added at the beginning of the bash script R (to support parallel 32/64-bit installations using multilib on Linux?) which tries to locate the R executable but does not search deep enough into the directory structure if multiple architectures are installed using the r_arch option to the configure line (for both/all architectures). 3) The manual also states in that section: On Linux, there is an alternative mechanism for mixing 32-bit and 64-bit libraries known as @emph{multilib}. If a Linux distribution supports multilib, then parallel builds of @R{} may be installed in the sub-directories @file{lib} (32-bit) and @file{lib64} (64-bit). [...] As far as I can tell, Kubuntu Linux distributions support multilib. However on these distributions /lib64 and /usr/lib64 are links to /lib and /usr/lib, respectively, where the 64-bit libraries reside and the 32-bit libraries reside in /lib32 and /usr/lib32. Thus, the above paragraph is somewhat confusing to somebody who is running a Kubuntu Linux distribution. (Presumably the same holds for Debian and all other distributions derived from Debian.) Cheers, Berwin =========================== Full address ============================Berwin A Turlach Tel.: +65 6515 4416 (secr) Dept of Statistics and Applied Probability +65 6515 6650 (self) Faculty of Science FAX : +65 6872 3919 National University of Singapore 6 Science Drive 2, Blk S16, Level 7 e-mail: statba at nus.edu.sg Singapore 117546 http://www.stat.nus.edu.sg/~statba
Seemingly Similar Threads
- Fwd: Re: Solution of function
- splinefun gives incorrect derivs when extrapolating to the (PR#13139)
- Patch proposal for logspace_sub
- splinefun gives incorrect derivs when extrapolating to the (PR#13138)
- sub-architecture installation difficulty with various valgrind-instrumentation levels