# Standalone ORCA installation

## Prepare the PC for Linux installation

I have Windows installed. I don't want to destroy it.
To solve this , you do a dual boot installation of Linux. But ,unfortunately this will make your installation a lot more difficult. You can't just start with the Linux CD; you have to prepare the hard disk by creating the partitions necessary to safely run both systems. Just to save your mental sanity, it is better to spend a few $ and use (on Windows) the program `Partition Magic`. But before using this you have to understand a few peculiarities of the hardware:

- You can't create more than 4 physical partitions on a single disk.
- If you need more partition, you can get more "logical" partitions from a single physical partition.
- Modern disk have usually more than 1024 cylinders, but the "boot" Linux partition must be in the first 1024 cylinders on disk.
- VFAT Windows partitions can be read and written by Linux
- NTFS Windows partitions cannot be read and written by Linux(at least RH6.1)

#### Defined partitions

name | type | size(MB) | Comments
hda1 | NTFS | 3059 | Primary active
hda4 | Extended | 2125 | Primary divided in two logical partitions hda5 with /boot(101) and hda6 swap area for Linux(2023)
hda2 | FAT | 509 | Primary : swap partition for Windows
hda3 | Linux Ext | 23611 | Primary : here / is mounted

Note the small physical partition in the first 1024 cylinders introduced to make the boot possible.

## Install Linux (RedHat6.1)

- Create a linux boot floppy
- Boot with this floppy and the Cern Linux RH6.1 CD. Follow the instructions

Normally at this point you should have Linux working including X and the network. Unfortunately the RH6.1 is rather old and wan't install some modern devices: in my case the network and the video card.

#### Installation by hand of the network

#### Installation by hand of the X server

Once you have the network and the X server working, you still need some other software.

#### Installation of afs

#### Installation of ssh

## Download Cern and CMS software

It is difficult to understand where to put everything. For this reason I start by running `OrcaVisMain` on lxplus and saving the result of printenv and the result of scram runtime -csh.
Main download done from here.This directory contains also some instructions and a shell script to define the CMS environment variables. From this documentation we understand that we are installing:

- Cern basic software (cernlib2001) in $CERN
- CMS software (CMSIM122 e CMDB122) in $CMS_PATH
- Cern LHCXX(Anaphe) software(lhcxx3.6.2) in $LHCXXTOP
- gcc2.95 in addition to the old 2.91

At this point we can start the SCRAM installation using these instructions
The last part was done using this document. Note that this installation assumes that files are loaded in some directories that can be different from those of the previous step!Also, all these operations where normally done as `root`.

- Install the shell `zsh`
- Download the script install_project
- Use the following command:

      install_project -source http://cmsdoc.cern.ch/orca/export/cmsoo -project projectname

  to install ORCA,CORBA,IGUANA
- If you are lucky now giving the command `scram list` should see the three installed packages.

## Copy Objectivity data base

The ORCATEST federation lxcmsc2::/datab/ORCA_5_2_0/myoofd/ORCATEST.boot unfortunately isn't directly accessible from normal users (without access to lxcmsc2). Also,for some reason, the federation is unusable from outside Cern: you can get `oodumpcatalog` working OK but ORCA will stop when an attempt is done to access objects:it looks like as the names of the files having only "lxcmsc2" and not "lxcmsc2.cern.ch" wan't allow the file to be accessed outside from cern. So I had to find a lxplus computer with enough space in /tmp :13 Giga wich is the federation size. Then I gave the command:

    oocopyfd

This would copy all the federation on the scratch disk. I could then ftp everything on my computer but I can't keep the space enough to do the copy that required a few days. So I saved everything on castor with

    rfcp nomefile /castor/cern.ch/user/g/gzito/

The ftp was done in the following days by staging back the saved files.
When all files have been transferred you give the command:

     ooinstallfd -lockserverhost pcba10.ba.infn.it -fdfileost pcba10.ba.infn.it -fdfilepath /data/orcatest/ORCATEST.FDDB -dbdirhost pcba10.ba.infn.it -dbdirpath /data/orcatest/ -jnldirhost pcba10.ba.infn.it -jnldirpath /data/orcatest/ /data/orcatest/ORCATEST.boot

Of Course now you have to run a lockserver and AMS to access the database. This is done with `oocheckls/oolockserver` and `oocheckams/oostartams` run as `root` all the time. Apparently you have also to modify by hand the boot file replacing "pcba10" with the complete name "pcba10.ba.infn.it" in a single line. After that change the federation can be accessed by anyone with the adress: `pcba10.ba.infn.it::/data/orcatest/ORCATEST.boot`.

## Make ORCA run

This part is in principle very easy. You try to run one of the downloaded binaries `OrcaVisMain`.You get usually a lot of missing shared libraries. Then you use the `ldd OrcaVisMain` command in Cern to find out where the missing library should be. At this point you can have two possibilities :

- the file is missing: download it from Cern
- the file is in a directory unreachable with $LD_LIBRARY_PATH:add the directory to the path or make a link from some of the reachable directories.

Specifically:

- libCLHEP.so
  solved with command

       ln -s /lhcxx /usr/local/lhcxx

- libT_Histoxx.so
  solved with command

       ln -s /lhcxx/specific/redhat61/gcc-2.95.2/HTL/1.3.1.1/lib/libT_Histoxx.so libT_Histoxx.so

- many other like the previous solved with

      ln -s /lhcxx /opt/cern/cms/lhcxx

- libInventor.so
  solved by creating appropriate directory and ftpying libraries from Cern using the directory given from `ldd` command run in Cern.
  In addition I have to make this software link!

       ln -s /lhcxx/specific/redhat61/gcc-2.95.2/OpenInventor/2.6/lib /lhcxx/specific/redhat61/OpenInventor/2.6/lib

- libGL.so.1
  solved like in the preceding case:but here no need for a software link (note that during ftp copy some software links in the original directory are lost)

I had also to define "OIVHOME" otherwise Open Inventor wouldn't work.
Since I work with `tcsh` I modify the file /etc/csh.login and ~/.login to define the environment variables. Unfortunately one of the installed programs (afs) would modify also /etc/csh.cshrc creating a PATH that would get bigger and bigger as you created more terminals.
I was able to run `OrcaVisMain` by running the standard `testfed.csh` with only one added line:

    setenv GEANEUSED TRUE

Before running this I define some environment variables with this script given in the distribution with rpm. This is instead the result of running scram runtime.
A small reflection on how big ORCA is: `ldd` lists 180 shared libraries used!When you run it, you see its memory size grow and grow to up 1Giga! This means that you need a lot of central memory, otherwise the program will do a lot of swapping.
At last, first IGUANA image of rpc built on my computer

## Make Orca compile

Now I repeat the procedure done many times in Cern:

    project ORCA
    scram project ORCA ORCA_5_4_3
    cd ORCA_5_4_3/src
    cvs co -r ORCA_5_4_3 Visualisation
    cd Visualisation
    scram build
    cd Visualisation/OrcaVis/test
    scram build bin

Unfortunately the `scram build` produces only error messages. Where is the makefile? How is built? Everything is in the hands of SCRAM and I don't have a clue. Anyhow these are some of the files that seem to be used in building the Makefile:

- ORCA_5_3_4/.SCRAM/Linux__2.2 : mostly files .dat describing single packages
- ORCA_5_3_4/tmp/Linux__2.2 : this directory seems to contain the Makefile built by SCRAM.

## The nightmare continues with security updates and new versions upgrades

Unfortunately installation doesn't end here but continues with security updates(when some security problem is discovered in the kernel or other software) and new versions upgrades. These are necessary since the old version have no more support for security and become more and more vulnerable to hacker attacks.
So ,here I am, after a year still with Red Hat 6.1 and I must absolutely upgrade to Red Hat 7.3.2
What this implies.

Page author Giuseppe Zito: zito@ba.infn.it
Last update: