*** No rule to make target `R'. Stop ** on installing R 2.9.0 on EL5
Hi,
I'm trying to install R 2.9.0 on EF5. I downloaded and untared the tar file and followed the README/INSTALL document. it says ./configure, make , make test to install i did $ sudo ./configure --with-x=no and it ran well, when i try to run $sudo make, it checks lots of files and ends in saying *** No rule to make target `R'. Stop. i thought its permission related so after running configure, i ran $sudo chmod -R 777 * from the base directory. here is the uname -a o/p ravind@qsrpdbdev01:~/rpms/R-2.9.0/R-2.9.0>uname -a Linux dbdev01 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux This is the output of $ sudo make: make[4]: Entering directory `/local/mnt/usr2/ravind/rpms/R-2.9.0/R-2.9.0/src/modules/vfonts' make[4]: `vfonts.so' is up to date. make[4]: Leaving directory `/local/mnt/usr2/ravind/rpms/R-2.9.0/R-2.9.0/src/modules/vfonts' make[3]: Leaving directory `/local/mnt/usr2/ravind/rpms/R-2.9.0/R-2.9.0/src/modules/vfonts' make[3]: Entering directory `/local/mnt/usr2/ravind' make[3]: *** No rule to make target `R'. Stop. make[3]: Leaving directory `/local/mnt/usr2/ravind' make[2]: *** [R] Error 1 make[2]: Leaving directory `/local/mnt/usr2/ravind/rpms/R-2.9.0/R-2.9.0/src/modules' make[1]: *** [R] Error 1 make[1]: Leaving directory `/local/mnt/usr2/ravind/rpms/R-2.9.0/R-2.9.0/src' make: *** [R] Error 1 Any help on this is appreciated. Thanks, RR |
Use the EL5 RPMs provided by the R Project. There are x86_64 packages available.
You haven't posted enough information to diagnose what when wrong. I would question that the configure script completed successfully though. BTW, you don't need to sudo to execute the configure script, make or make test. It's a bad habit that I wouldn't recommend you getting into. You only need to sudo to install the package system-wide. |
thanks for your reply..
i have been trying to find the RPM ver 2.9.0 . the rpm i found for EL5 x86_64 package is ver 2.9.1. i got the tar from the old repository , wish i could find rpm ! |
Here's one --> http://centos.karan.org/el5/extras/testing/x86_64/RPMS/ I'm not an RPM user, so I don't know whether it's something you'd want to use. What's wrong with the 2.9.1 version? I'm still using 2.5.1 and don't keep up with the change logs, so I wouldn't know if there was some major change such that 2.9.1 would be that different from 2.9.0.
|
i somehow installed R :) if i type $R i can see version 2.9.0 and the R prompt , but if i try to import rpy from python, it says "ImportError: No module named _rpy2090" :((
i think there should be file named rpy2090.so, i tried to locate it but couldnt find anywhere. should it be created as part of R installation ? or am i missing anything ? thanks again for the help !! |
No, rpy is a separate package. You can find the download page (if it's not in the EL5 repos) for rpy here --> https://sourceforge.net/projects/rpy/files/
|
thanks for the pointer but its ending up in another issue :( . INSTALL.UNIX file says "<go to the R source directory>
make distclean", i went to /usr/lib64/R and executed the same make command but fails saying *** no rule to make target 'distclea' Stop ..i do see bin, etc, include folders under /usr/lib64/R , isn't it the R source directory ? ~/install/rpy/rpy-1.0.3>python setup.py install RHOMES= [] DEBUG= True Setting RHOMES to ['/usr/local/lib64/R'] ### Using R verion 2.9.0 installed at /usr/local/lib64/R ### RHOME= /usr/local/lib64/R copying src/rpymodule.c -> src/rpymodule2090.c copying src/R_eval.c -> src/R_eval2090.c copying src/io.c -> src/io2090.c running install running build running build_py running build_ext building '_rpy2090' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DRPY_SHNAME=_rpy2090 -DINIT_RPY=init_rpy2090 -UPRE_2_2 -UWITH_NUMERIC -I/usr/local/lib64/R/include -Isrc -I/usr/share/R/include -I/local/mnt/qsrp/python/include/python2.5 -c src/rpymodule2090.c -o build/temp.linux-x86_64-2.5/src/rpymodule2090.o -shared In file included from src/RPy.h:57, from src/rpymodule2090.c:51: /usr/local/lib64/R/include/R_ext/Rdynload.h:26: warning: function declaration isn’t a prototype In file included from src/rpymodule2090.c:51: src/RPy.h:77:51: error: Rdevices.h: No such file or directory src/rpymodule2090.c:1565: warning: initialization from incompatible pointer type src/rpymodule2090.c:1568: warning: ‘intargfunc’ is deprecated src/rpymodule2090.c:1568: warning: initialization from incompatible pointer type src/rpymodule2090.c:1569: warning: ‘intintargfunc’ is deprecated src/rpymodule2090.c:1569: warning: initialization from incompatible pointer type src/rpymodule2090.c:1570: warning: initialization from incompatible pointer type src/rpymodule2090.c: In function ‘r_finalize’: src/rpymodule2090.c:1782: warning: implicit declaration of function ‘Rf_KillAllDevices’ src/rpymodule2090.c:1788: warning: implicit declaration of function ‘R_CleanTempDir’ src/rpymodule2090.c:1776: warning: unused variable ‘tmpdir’ src/rpymodule2090.c:1775: warning: unused variable ‘buf’ error: command 'gcc' failed with exit status 1 |
No, the R source directory is not /usr/lib64/R. The R source directory is the directory created when you unpack the R tarball. You only need to follow the step where you "go to the R Source directory" if you need to rebuild R with shared libraries. If you used an RPM to install R, I bet you have a shared library. The shared library is call libR.so. See if you have that library installed.
Secondly, do you really have /usr/lib64/R and /usr/local/lib64/R? Did you install R from source as you were originally trying or did you use the RPM? Given the reason for the rpy failure, I am presuming you used the RPM. Its clear what the problem is with the rpy install Code:
src/RPy.h:77:51: error: Rdevices.h: No such file or directory Also, wrap your console output in code tags. Its formats correctly and is easier to read. |
Thanks for helping me on this !!
yes , i used rpm package and i can find libR.so , so it means i have installed R 2.9.0 as shared library and i dont have to worry about the steps mentioned in rpy installation doc ? <go to the R source directory> make distclean ./configure --enable-R-shlib make make install Quote:
I downloaded and installed R-devel earlier. This is the rpm -qi output Quote:
|
adding more info :)
i did the step b mentioned in the installation doc Quote:
|
adding more info :)
i did the step b mentioned in the installation doc Quote:
Quote:
Quote:
|
Quote:
I'm guessing the RPM installed R into /usr/lib64/R. What is the version of the R installed in /usr/local/lib64/R? Execute the following to find out Code:
/usr/local/lib64/R/bin/R According to this rpy mail list thread --> http://www.mail-archive.com/rpy-list.../msg01343.html one solution is go to the rpy source directory and execute the following Code:
sed -i 's/<Rdevices.h>/<Rembedded.h>/' src/RPy.h This is why rpy2 is recommended for use with versions of R >= 2.8.0. |
thank you for helping me on this !!
maybe i sound dumb to give you an overview. we were using python 2.4 and yum was working on it, i installed earlier version of R using yum install. later we upgraded the system to python 2.5 and i believe yum wont work on python 2.5. so to install R 2.9.0, i uninstalled all the R related modules using rpm -e <module-name> and i installed R 2.9.0 rpy , rpm -i <module-name> to answer your questions : What is the version of the R installed in /usr/local/lib64/R? Quote:
Quote:
Quote:
Quote:
Quote:
|
out of desperation, i added "/usr/bin" to the PATH in ~/.bash_proflle file of my user
PATH=/usr/bin:/local/mnt/qsrp/python/bin: now if i type R, i see R prompt and version 2.9.0 but if i try import rpy, i see "Segmentation fault" :( Quote:
Quote:
|
Quote:
You said the system originally had ver 2.4 and then was upgraded to ver 2.5. Which version is in /usr/bin and which version is in /local/mnt/qsrp/python/bin? Sounds like you've got your system boogered up pretty good. Looks like you've got a working R installed at /usr/lib64/R and a broken one installed at /usr/local/lib64/R. I'll ask again, did you execute make install when you were trying to install from source? I think you did and it installed a half-baked R in /usr/local. The PATH=/usr/bin:/local/mnt/qsrp/python/bin: in your bash_profile, causes the PATH variable to be reset with only those paths. A better approach would be PATH=/local/mnt/qsrp/python/bin:$PATH. This will ensure the python you've installed in the /local hierarchy is found and used before one that may be installed in a normal place like /usr/bin. First, I recommend you change that line and then source your bash_profile. Of course, /local is an odd directory to have in your root. To me it looks like something else you've added in desperation. Then I would recommend you uninstall the borked R in /usr/local. If this was installed by a make install on your part, you can simply delete the entire /usr/local/lib64/R directory and the files /usr/local/lib64/libR.so, /usr/local/lib64/libRmath*, /usr/local/bin/R, /usr/local/bin/Rscript, /usr/local/lib64/pkgconfig/libR.pc, and /usr/local/lib64/pkgconfig/libRmath.pc. Some or all of these files may not exist if this was caused by an aborted make install. Also delete the link in /usr/lib and the links you created in /sbin that you mentioned creating earlier. After that, rebuild rpy and make sure it builds against the R in /usr/lib64/R. |
All times are GMT -5. The time now is 12:10 PM. |