Difference between revisions of "Linux3"
Line 46: | Line 46: | ||
</pre> | </pre> | ||
− | In common with many other projects, the R distribution uses something called the '''automake''' package which creates makefiles for subsequent use in compiling the source code. The typical pattern of commands in this situation is to run '''configure''', followed by '''make''', possibly some sort of test, and finally '''make install''' to complete the software installation. | + | It's common to find files named '''README''' and '''INSTALL''', which will give details of the project and installation instructions, respectively. |
+ | |||
+ | In common with many other projects, the R distribution uses something called the '''automake''' package which creates makefiles for subsequent use in compiling the source code. The typical pattern of commands in this situation is to run '''./configure''', followed by '''make''', possibly some sort of test, and finally '''make install''' to complete the software installation. | ||
Configure scripts often follow convention when it comes to the options that they will accept. For example: | Configure scripts often follow convention when it comes to the options that they will accept. For example: | ||
Line 59: | Line 61: | ||
./configure --prefix=$HOME/INSTALLS/R/3.0.1 | ./configure --prefix=$HOME/INSTALLS/R/3.0.1 | ||
</pre> | </pre> | ||
+ | |||
+ | This command will spew a great deal of information to the screen. For less forgiving configure scripts, you'll need eyes like a hawk to spot signs of a configuration problem as the results of interrogating the system scroll past. Happily in this case, however, the configure script gives us a handy summary at the end: | ||
+ | |||
+ | <pre> | ||
+ | R is now configured for i686-pc-linux-gnu | ||
+ | |||
+ | Source directory: . | ||
+ | Installation directory: /home/gethin/INSTALLS/R/3.0.1 | ||
+ | |||
+ | C compiler: gcc -std=gnu99 -g -O2 | ||
+ | Fortran 77 compiler: gfortran -g -O2 | ||
+ | |||
+ | C++ compiler: g++ -g -O2 | ||
+ | Fortran 90/95 compiler: gfortran -g -O2 | ||
+ | Obj-C compiler: | ||
+ | |||
+ | Interfaces supported: X11 | ||
+ | External libraries: readline | ||
+ | Additional capabilities: PNG, JPEG, NLS | ||
+ | Options enabled: shared BLAS, R profiling | ||
+ | |||
+ | Recommended packages: yes | ||
+ | </pre> | ||
+ | |||
+ | Now we're in the position to start compiling-up the source code. To do this, run '''make''': | ||
+ | |||
+ | <pre> | ||
+ | make | ||
+ | </pre> | ||
+ | |||
+ | If you have been able to build without any errors, you can check that the package is behaving correctly by running: | ||
+ | |||
+ | <pre> | ||
+ | make check | ||
+ | </pre> | ||
+ | |||
+ | Finally, when you are satisfied that all is well, you can install the package at it's intended destination: | ||
+ | |||
+ | <pre> | ||
+ | make install | ||
+ | </pre> | ||
+ | |||
+ | We can check that it installed correctly by looking in under the directory specified to the configure script via the --prefix option: | ||
+ | |||
+ | <pre> | ||
+ | ls $HOME/INSTALLS/R/3.0.1 | ||
+ | </pre> | ||
+ | |||
+ | Finally, we can run the package by typing: | ||
+ | |||
+ | <pre> | ||
+ | $HOME/INSTALLS/R/3.0.1/bin/R | ||
+ | </pre> | ||
+ | |||
+ | where, for convenience, you will want to add this bin directory to your path. |
Revision as of 09:52, 7 June 2013
Starting to administer systems
Introduction
Installing Software
Package Managers
Building from Source Code
Let's build the latest and greatest version of the popular, open-source statistics package--R. We can download the source code from a mirror site right here in Bristol!
cd $HOME mkdir BUILD mkdir INSTALL cd BUILD mkdir R cd R wget http://www.stats.bris.ac.uk/R/src/base/R-3/R-3.0.1.tar.gz
OK, take a look at what we have so far:
ls -l -rw-r--r-- 1 gethin gethin 25508280 2013-05-16 08:11 R-3.0.1.tar.gz
So far, so good. Let's unpack the tarball:
tar -xzf R-3.0.1.tar.gz ls -l drwxr-xr-x 10 gethin gethin 4096 2013-05-16 08:11 R-3.0.1 -rw-r--r-- 1 gethin gethin 25508280 2013-05-16 08:11 R-3.0.1.tar.gz
We have a directory called R-3.0.1, let's move into that directory and take a look at what's inside:
cd R-3.0.1 ls ChangeLog configure COPYING etc m4 Makefile.fw NEWS ONEWS po share SVN-REVISION tools VERSION-NICK config.site configure.ac doc INSTALL Makeconf.in Makefile.in NEWS.pdf OONEWS README src tests VERSION
It's common to find files named README and INSTALL, which will give details of the project and installation instructions, respectively.
In common with many other projects, the R distribution uses something called the automake package which creates makefiles for subsequent use in compiling the source code. The typical pattern of commands in this situation is to run ./configure, followed by make, possibly some sort of test, and finally make install to complete the software installation.
Configure scripts often follow convention when it comes to the options that they will accept. For example:
./configure --help
will list all the valid options for this particular configure script. --prefix is a common option. We can use it to tell the system where we would ultimately like the package to be installed, once it is built. For the purposes of this example, we will run:
./configure --prefix=$HOME/INSTALLS/R/3.0.1
This command will spew a great deal of information to the screen. For less forgiving configure scripts, you'll need eyes like a hawk to spot signs of a configuration problem as the results of interrogating the system scroll past. Happily in this case, however, the configure script gives us a handy summary at the end:
R is now configured for i686-pc-linux-gnu Source directory: . Installation directory: /home/gethin/INSTALLS/R/3.0.1 C compiler: gcc -std=gnu99 -g -O2 Fortran 77 compiler: gfortran -g -O2 C++ compiler: g++ -g -O2 Fortran 90/95 compiler: gfortran -g -O2 Obj-C compiler: Interfaces supported: X11 External libraries: readline Additional capabilities: PNG, JPEG, NLS Options enabled: shared BLAS, R profiling Recommended packages: yes
Now we're in the position to start compiling-up the source code. To do this, run make:
make
If you have been able to build without any errors, you can check that the package is behaving correctly by running:
make check
Finally, when you are satisfied that all is well, you can install the package at it's intended destination:
make install
We can check that it installed correctly by looking in under the directory specified to the configure script via the --prefix option:
ls $HOME/INSTALLS/R/3.0.1
Finally, we can run the package by typing:
$HOME/INSTALLS/R/3.0.1/bin/R
where, for convenience, you will want to add this bin directory to your path.