Installing RStudio on Mageia 2.0
I recently read an article wherein a developer at Kickstarter talked about using R in the cloud on a machine with 32GB RAM for analyzing different kinds of data. He argued that R works fastest when it can load ALL the data in RAM. At some point he mentioned his IDE was RStudio. Since I had never heard of this software before, I decided to take a quick look. On the RStudio website it claimed RStudio is open source and free. Great! So I clicked on Learn More and that is when I got a thrill. Apparently, you could run the IDE on a webserver. They called this the 'server' version of the IDE. This means you can literally analyze your data on the from any desktop in the world. Heck, even an iPad might be good enough. I needed no further prompting and I went to download it.
Not unexpectedly, it turned out that there was a .rpm of the latest build (v0.97). I downloaded it and tried to install it using `rpm -ivh'. Expectedly, it complained about missing dependencies. I opened drakconf and searched for rstudio from the repositories. No luck. So back to resolving the dependencies. I installed openssl and boost because they were two of the four libraries. For the other two, even pbone was not helpful. Unfortunately, even for boost and openssl, the versions in the repositories are older than what rstudio v0.97 required. Clearly Mageia does not live on the bleeding edge. So now what? It turned out that the website does not provide .rpms for older versions of the software. So back to the same old technique---compile the source code. I had to install gcc (this was a new Mageia server system), cmake, make, ant and of course R-base. With drakconf, this was quick and painless.
Although I should have expected it, it became apparent that
the rstudio source code obviously needed the newest version of
the libraries. So clearly installing the latest version was
not tenable. Could an older version work? Luckily, since
rstudio is an open source project, the entire source tree is
hosted online at GitHub. So
I chose a slightly
older version (0.96) and download the .zip
file. Unzipped it and as root performed the following
steps. First, as per the install file, tried to run cmake. So,
[root@localhost ]# unzip rstudio-0.96.zip
[root@localhost ]# cd rstudio-0.96; mkdir build; cd build
[root@localhost ]# cmake .. -DRSTUDIO_TARGET=Server
-DCMAKE_BUILD_TYPE=Release
This gave an error about missing packages. Not a problem!
Install the headers for openssl and pango
[root@localhost ]# urpmi openssl-devel; urpmi pango-devel
[root@localhost ]# cmake .. -DRSTUDIO_TARGET=Server
-DCMAKE_BUILD_TYPE=Release
Now it complained about some missing local rstudio
dependencies. So first we changed to the
rstudio-0.96/dependencies/linux directory. Executing the
install-dependencies-yum obviously fails. So we read the file
to figure out what's going on. Turns out it tries to install
some packages using yum. In theory, substituting 'yum' with
'urpmi' should work but I did not try it. I installed the
dependencies manually.
[root@localhost ]# urpmi rpmdevtools libuuid-devel bzip2-devel
pam-devel
[root@localhost ]# cd ../common; ./install-gwt;
./install-dictionaries; ./install-mathjax;
./install-boost
Now we try to run cmake again
[root@localhost ]# cd ../../build; cmake
.. -DRSTUDIO_TARGET=Server -DCMAKE_BUILD_TYPE=Release
Whew! It went through fine! Homestretch!
[root@localhost ]# make install
[root@localhost ]# useradd -r rstudio-server
[root@localhost ]# cp ../src/cpp/server/extras/pam/rstudio
/etc/pam.d/
[root@localhost ]# cp
../src/cpp/server/extras/init.d/redhat/rstudio-server.in
/etc/init.d/rstudio-server
This file needs to be edited to substitute the correct
value for a variable. The default value of this variable (unless you
changed it when running cmake is specified in the rstudio
INSTALL file.
[root@localhost ]# vi /etc/init.d/rstudio-server
Replace $CMAKE_INSTALL_PREFIX with /usr/local/lib/rstudio
and execute the following
[root@localhost ]# cd /etc/init.d; chkconfig --add rstudio-server
[root@localhost ]# ln -f -s
/usr/local/lib/rstudio-server/bin/rstudio-server
/usr/sbin/rstudio-server
[root@localhost ]# service rstudio-server start
DONE! By default, the rstudio listens on TCP port 8787. You should be able to point your browser to http://localhost:8787/ and login using your system's username and password.