Installation of FLAO Supervisor on CentOS 7.x

The following notes have been written while porting the FLAO Supervisor code to a CentOS 7 (x86_64) machine in April 2015

OS installation

OS installation and configuration, following the steps described in the following paragraphs, must be done with root privileges. The corresponding paragraphs are marked with: [OS]

Install selecting the "software development workstation" setting and adding the proposed optional development tools. This will install most required packages automatically. After the installation from a distribution media, a full update is suggested.

[OS] Add non-default repositories

Some packages (mainly related to Qt version 3) are not available in the default CentOS6.x repository, instead they have to be downloaded from the "atrpms" and "epel" repositories. Add them to the yum list as shown in the following example:

http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh epel-release-latest-7.noarch.rpm

[OS] Add Zeroc-ice repository

The easiest way is to add the file: /etc/yum.repos.d/zeroc-ice.repo with the following content:

[zeroc-ice]
name=Ice 3.5 for RHEL $releasever - $basearch
baseurl=http://www.zeroc.com/download/Ice/3.5/el$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=http://www.zeroc.com/download/RPM-GPG-KEY-zeroc-release

[OS] Install additional packages

The following are required packages from the CentOS distribution:
yum install pyfits  kdelibs-devel

Then we need the ICE packages:
yum install ice ice-libs ice-c++-devel ice-python ice-python-devel

Note: the FLAO supervisor build procedure requires that a "version independent" link is created:
 ln -s /usr/share/Ice-3.4.2 /usr/share/Ice

[OS] Install IDL

You must follows directions provided by IDL vendor. On the CentOS 7 test machine we installed IDL 8.4, but other releases may work also.

NOTA: Il test al 4/4/2015 e' arrivato fin qui

Problemi da risolvere:

  • PyQt version4 4 non testato
  • KDE 3 non supportato

Note 1: do not forget to install/configure the licence

Note 2: Under CentOS 6.x the idlrpcserver can only be started with root privileges. As an alternative Exelis suggests to also specify the port as follows:

   idlrpc -port=0x20001000

This seems not to work in all circumstances. We found more stable a different solution:

  • Change to root the ownership of the idlrpc executable and declare the same file setuid:
    chown root <idl_rpc_executable>
    chmod -s <idl_rpc_executable>

The location of the executable file depends on the IDL release. The FLAO installation procedure has a tool to find where IDL is installed, so you can delay this step after the preparation of the installation environment described below.

[OS] Add shared libraries to the runtime path

Create library path files as follows:

echo /usr/local/qwt-5.1.2/lib > /etc/ld.so.conf.d/qwt.conf 
echo /usr/local/exelis/idl84/bin/bin.linux.x86_64 > /etc/ld.so.conf.d/idl.conf
 

Then refresh the path:

/sbin/ldconfig -v

Bulding a test version of FLAO Supervisor

The FLAO Supervisor can (and must) be built and tested from any convenient account which will not be used for the production installation. The account needs (and must have) only normal user privileges. Here follows the description of main steps.

Checkout FLAO Supervisor source tree and prepare for building

You must checkout from the proper SVN repository to get the FLAO version you want to install into any convenient directory. The following example gets the source tree from the SVN trunk and checks it out onto ./source (You have to specify an authorized username and you'll be prompted for a password):

svn checkout "svn+ssh://username@adopt.arcetri.astro.it/aogroup/svn/AOSupervisor/trunk source"
cd source

Then you must set up the environment to allow compilation:

python prepare.py make
source flao_environment.sh

The prepare procedure creates some working directories on your HOME checks the availability of IDL and creates the file flao_environment.sh with the environment definition required for the compilation of FLAO Supervisor.

You may want to add the source command to your environment setup procedure at login (usually .bashrc) to have it executed at every login.

Note: If the prepare.pyprocedure has executed correctly, you now can find the location of IDL executable files as follows:
echo $IDLLIBDIR

And you can modify idlrpc properties as directed above (see paragraph on IDL)

Building and installing

NOTE: please be sure you have sourced the environment definition procedure flao_environment.sh before attempting to build the Supervisor.

The FLAO Supervisor build process is in four steps:

  1. Build the contributed software
    cd $ADOPT_SOURCE/contrib
    make (see note below)
    sudo make install
  2. Compile and install the Supervisor
    cd $ADOPT_SOURCE
    make
    make install 
     
  3. Install configuration and calibration files
    cd $ADOPT_SOURCE
    make install_conf
    make install_calib

Notes

Python-IDL

The python-idl contributed package is not well suited to CentOS6.x x86_64.

A few modifications i to setup.py were needed to complete the build properly:

  1. The selection of libraries in the IDL path was modified

after that the compilation shows a warning which is likely to be fatal (incompatible pointer assignment) and the package can be built but has not been tested.

-- AlfioPuglisi - 18 Dec 2012. Revides by L.Fini March 2015
Topic revision: r1 - 03 Apr 2015, LucaFini
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback