error: installation of package ‘rgl’ had non-zero exit status

r rgl
meghavarshney picture meghavarshney · Aug 13, 2015 · Viewed 13.2k times · Source

I would like to use plot 3D so I was trying to download rgl but whenever I am trying to install this, I am getting this error in rgl package installation. So can you please suggest me something.

install.packages("rgl", dependencies=TRUE)
     Installing package into ‘/root/R/x86_64-unknown-linux-gnu-library/3.2’
     (as ‘lib’ is unspecified)
     --- Please select a CRAN mirror for use in this session ---
trying URL 'http://cran.skazkaforyou.com/src/contrib/rgl_0.95.1247.tar.gz'
Content type 'application/x-gzip' length 2014799 bytes (1.9 MB)
==================================================
downloaded 1.9 MB

* installing *source* package ‘rgl’ ...
** package ‘rgl’ successfully unpacked and MD5 sums checked
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for gcc... (cached) gcc -std=gnu99
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -std=gnu99 accepts -g... (cached) yes
checking for gcc -std=gnu99 option to accept ISO C89... (cached) none needed
checking whether __attribute__((visibility())) is supported... yes
checking whether gcc -std=gnu99 accepts -fvisibility... yes
checking whether  accepts -fvisibility... no
checking for libpng-config... yes
configure: using libpng-config
configure: using libpng dynamic linkage
checking for X... libraries , headers 
checking GL/gl.h usability... no
checking GL/gl.h presence... no
checking for GL/gl.h... no
checking GL/glu.h usability... no
checking GL/glu.h presence... no
checking for GL/glu.h... no
configure: error: missing required header GL/gl.h
ERROR: configuration failed for package ‘rgl’
* removing ‘/root/R/x86_64-unknown-linux-gnu-library/3.2/rgl’

The downloaded source packages are in
‘/tmp/RtmpP1KuPN/downloaded_packages’
Warning message:
In install.packages("rgl", dependencies = TRUE) :
      installation of package ‘rgl’ had non-zero exit status

Answer

user3710546 picture user3710546 · Aug 13, 2015

The installation of rgl needs some system libraries to be previously installed. The index page of the package rgl provides some important information:

SystemRequirements: OpenGL, GLU Library, zlib (optional), libpng (>=1.2.9, optional), FreeType (optional)

Once we know that OpenGL and GLU Library are mandotory, we have to check whether they already are present or not in the system. One way is to read the log of the installation of rgl. If these lines appear:

checking GL/gl.h usability... no
checking GL/gl.h presence... no
checking for GL/gl.h... no
checking GL/glu.h usability... no
checking GL/glu.h presence... no
checking for GL/glu.h... no
configure: error: missing required header GL/gl.h

It means that GLU Library is missing and must be installed. For example, on Ubuntu, we can run:

sudo apt-get install libglu1-mesa-dev

In RedHat, it would be:

yum install Mesa-devel

This will install the headers of the GLU Library. And we can then run again:

install.packages("rgl", dependencies = TRUE)