Difference between revisions of "ConfigureCentos"

From OPeNDAP Documentation
(Created page with "<< back to HowTo Guides == How to configure CentOS for the production of RPM binaries == This describes how to set up a vanilla CentOS computer so that we can ...")
 
(Centos 6.x)
Line 47: Line 47:
  
 
===== Centos 6.x =====
 
===== Centos 6.x =====
* google EPEL/EL5 and  
+
* google EPEL/EL6 and  
 
* find & download ''epel-release-6.5.noarch.rpm''
 
* find & download ''epel-release-6.5.noarch.rpm''
 
* install it: ''rpm -i epel-release-6.5.noarch.rpm''
 
* install it: ''rpm -i epel-release-6.5.noarch.rpm''

Revision as of 23:18, 30 April 2012

<< back to HowTo Guides

1 How to configure CentOS for the production of RPM binaries

This describes how to set up a vanilla CentOS computer so that we can build RPM binaries for the Hyrax data server. This was taken from notes describing how I configured a machine with a fresh install of CentOS 5.3 to build Hyrax. Augmented for CentOS 6. If you're installing this on a virtual host using VMware, see the section at the end of this document for some tips on making that VM run smoothly.

This assumes that the CentOS operating system install included the software development packages

2 CentOS versions

These instructions have been amended to cover:

  • CentOS-5.3 (32 bit and 64 bit)
  • CentOS-6.2 (64bit)

3 Initial configuration

Set up general build stuff that you need:

  • yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
  • yum install ant
  • yum install subversion
  • yum install gcc-c++
  • yum install flex
  • yum install bison
  • yum install curl-devel
  • yum install libxml2-devel
  • yum install libjpeg-devel
  • yum install zlib-devel
  • yum install readline-devel
  • yum install libuuid-devel

3.1 Autotools

  • download the latest versions of autoconf, automake and libtool
  • ./configure, make, make install

4 Hyrax specific configuration

Set up things that are specific to Hyrax

It's best to use as much of the RPM 'ecosystem' as possible because this is what will be on other people's computers; using newer stuff, like the lastest HDF5 library is only going to cause incompatibilities. But to do that for Hyrax, you need to get beyond the stock set of repositories that yum searches.

4.1 Add the EPEL EL5 repo to yum

4.1.1 Centos 5.x
  • google EPEL/EL5 and
  • find & download epel-release-5.4.noarch.rpm
  • install it: rpm -i epel-release-5.4.noarch.rpm
4.1.2 Centos 6.x
  • google EPEL/EL6 and
  • find & download epel-release-6.5.noarch.rpm
  • install it: rpm -i epel-release-6.5.noarch.rpm

4.2 Data type dependencies: NetCDF, HDF4, HDF5

  • yum install netcdf-devel (note: On CentOS-6.2 you'll get netcdf-4 and on CentOS-5.3 you'll get netcdf-3)
  • yum install hdf-devel # note 'hdf', not 'hdf4'
  • yum install hdf5-devel

4.3 Other dependencies

  • yum install libicu-devel
  • yum install cfitsio-devel
  • yum install cppunit-devel

4.4 RPM Construction Tools

  • yum install rpm-devel
  • yum install rpm-build

5 VMware configuration tips

It's best if you enable a shared directory so that you can pass stuff back and forth between the host OS and the Guest OS (i.e., the Virtual machine). That will only work if you have the VMware tools installed in/on the guest.

  • Install VMware-tools. This process varies, but it's pretty easy for all platforms. On VMware Fusion, look under the Virtual Machine menu for the item that says Install VMware Tools. This will download lump of code and, for CentOS, mount it on '/media/VMware Tools' (yes, there's a space in the directory name). Copy the *.tar.gz file to some place like your home directory, unpack it and read the INSTALL file. For an initial installation, the typical process is to run vmware-install.pl.
  • Under the configuration/options menu (the little wrench thing in Fusion), choose Sharing. Make a folder with an obvious name (e.g., vmware) and turn sharing on. Now, anything you put in there when on either the OS will be available to the other OS. On linux, this directory is located at /mnt/hgfs/<<name>>.

6 problems not addressed

  • There no JUnit for the OLFS build
  • There's not graphviz so the doc targets for libdap and bes will fail; I tried adding graphviz but that did not fix the problem.