Argonne National Laboratory

Accelerator Operations & Physics

Advance Photon Source
A U.S. Department of Energy, Office of Science,
Office of Basic Energy Sciences national synchrotron x-ray research facility

US Department of Energy
Argonne Home > Advanced Photon Source > Accelerator Systems Division > Accelerator Operations & Physics

Guide to Installing SDDS and OAG Simulation Software on Linux Computers

R. Soliday

Installing pre-built binary RPM files
Step 1
Download the RPM files that you plan on using. The static linking causes very large RPM files but the benifit is that it is easier to get them to run on different version of Linux.

32 bit, all 2.6 kernels equal to 2.6.9 or newer. Most of the RPMs here were built for RedHat Enterprise Linux 5 and other recent versions of Linux.

    SDDSToolKit-2.11-1.i386.rpm              (info)
    SDDSToolKit-2.8-1.el4.i386.rpm           (info)
      Works on older RedHat Enterprise Linux 4 and CentOS 4 systems

    SDDSEpicsToolKit-2.11-1.i386.rpm         (info)
    elegant-25.1.0-2.i386.rpm MPICH2-1.5     (info)
    elegant-25.1.0-1.i386.rpm MPICH2-1.4.1p1 (info)
    spiffe-4.1-1.i386.rpm                    (info)
    shower-1.10-1.i386.rpm                   (info)
    clinchor-1.0-1.i386.rpm                  (info)
    OAGTclTk-8.4.13-6.i386.rpm               (info)
    OAGTclTk-8.4.7-1.el4.i386.rpm            (info)
      Works on older RedHat Enterprise Linux 4 and CentOS 4 systems

    EpicsExtensions-3.14.11-1.i386.rpm       (info)
    EpicsExtensions-3.14.11-1.el4.i386.rpm   (info)
      Works on older RedHat Enterprise Linux 4 and CentOS 4 systems

    SDDSPython-2.5.1-1.i386.rpm              (info)
      Works on Fedora 7 - Fedora 11, and Ubuntu 8 - Ubuntu 9
        Requires python 2.5 and glibc >= 2.5.
        Requires libncurses.so.5 and libreadline.so.5.
    SDDSPython-2.4.4-1.fc6.i386.rpm          (info)
      Works on Fedora 6, CentOS 5 and Redhat Enterprise Linux 5
        Requires python 2.4 and glibc >= 2.5.
        Requires libncurses.so.5 and libreadline.so.5.
    SDDSPython-2.4.3-1.fc5.i386.rpm          (info)
      Works on Fedora 4 - Fedora 5
        Requires python 2.4.
        Requires libncurses.so.5 and libreadline.so.5.
    SDDSPython-2.3.4-1_3.4x.i386.rpm         (info)
      Works on Fedora 3, CentOS 4 and Redhat Enterprise Linux 4
        Requires python 2.3.
        Requires libncurses.so.5 and libreadline.so.4.


64 bit, all 2.6 kernels equal to 2.6.9 or newer. Most of the RPMs here were built for RedHat Enterprise Linux 5 and other recent versions of Linux.

    SDDSToolKit-2.11-1.x86_64.rpm            (info)
    SDDSToolKit-2.8-1.el4.x86_64.rpm         (info)
      Works on older RedHat Enterprise Linux 4 and CentOS 4 systems

    SDDSEpicsToolKit-2.11-1.x86_64.rpm       (info)
    elegant-25.1.0-2.x86_64.rpm MPICH2-1.5   (info)
    elegant-25.1.0-1.x86_64.rpm MPICH2-1.4.1p1 (info)
    spiffe-4.1-1.x86_64.rpm                  (info)
    shower-1.10-1.x86_64.rpm                 (info)
    clinchor-1.0-1.x86_64.rpm                (info)
    OAGTclTk-8.4.13-6.x86_64.rpm             (info)
    OAGTclTk-8.4.7-1.el4.x86_64.rpm          (info)
      Works on older RedHat Enterprise Linux 4 and CentOS 4 systems

    EpicsExtensions-3.14.11-1.x86_64.rpm     (info)
    EpicsExtensions-3.14.11-1.el4.x86_64.rpm (info)
      Works on older RedHat Enterprise Linux 4 and CentOS 4 systems
    SDDSPython-2.6.6-2.x86_64.rpm            (info)
      Built on CentOS 6.3


Fedora Core 2 (No longer supporting)

    SDDSToolKit-2.3.1-1.fc2.i386.rpm         (info)
    SDDSEpicsToolKit-2.3-1.fc2.i386.rpm      (info)
    elegant-17.2.2-2.fc2.i386.rpm            (info)
    spiffe-3.2-2.fc2.i386.rpm                (info)
    OAGTclTk-8.4.5-3.fc2.i386.rpm            (info)
    EpicsExtensions-3.14.9-1.fc2.i386.rpm    (info)
    shower-1.4-2.fc2.i386.rpm                (info)


Redhat 9 (No longer supporting)

    SDDSToolKit-2.3.1-1.rh9.i386.rpm         (info)
    SDDSEpicsToolKit-2.3-1.rh9.i386.rpm      (info)
    elegant-17.2.2-2.rh9.i386.rpm            (info)
    spiffe-3.2-2.rh9.i386.rpm                (info)
    OAGTclTk-8.3.5-3.rh9.i386.rpm            (info)
    EpicsExtensions-3.14.9-1.rh9.i386.rpm    (info)
    shower-1.4-2.rh9.i386.rpm                (info)
    SDDSPython-2.2.2-1_3.2x.i386.rpm         (info)
    GENESIS-1.3-1_3.2x.i386.rpm              (info)



An easy introduction to SDDS is available in "Getting Started with SDDS," available as HTML, PDF, or postscript. You can also download sample data so you can work along with the examples in this document.

Step 2
Install or upgrade the SDDS software. By default the executables are installed at /usr/bin, this can be changed by using the --prefix option. For a list of the installed files you can use the -qpl option.
Note: Some versions of RedHat have a bug in rpm where the --prefix option does not work.
A. Review Installed Files:
   rpm -qpl (package).i386.rpm

B. Installations and Upgrades:
   For Fedora and RedHat systems run:
   rpm -Uvh [--prefix (installation directory)] (package).i386.rpm

   For Ubuntu systems run:
   alien -v (package).i386.rpm
   dpkg -i --force-overwrite (package).i386.deb

For the OAG TclTk package, be sure to install the executables in the same directory as your tclsh8.4 and wish8.4 programs.

Step 3
Download defns.rpn and save as ~/.defns.rpn
Add the following to your .login file:
setenv RPN_DEFNS ~/.defns.rpn

Step 4
If you plan on using EPICS software to connect to IOCs then you will need to add the following to your .login file:
setenv EPICS_CA_ADDR_LIST "164.54.188.65"
setenv EPICS_CA_AUTO_ADDR_LIST NO

The address given should be an IOC or a gateway for a group of IOCs.



Compiling the source code
Step 1
If you are using a 32 bit Intel or AMD based machine then add the following to your .login file:
set path = ( ~/epics/base/bin/linux-x86 ~/epics/extensions/bin/linux-x86 ~/oag/apps/bin/linux-x86 $path )
setenv HOST_ARCH linux-x86
setenv EPICS_HOST_ARCH linux-x86
setenv RPN_DEFNS ~/.defns.rpn

If you are using a 64 bit Intel or AMD based machine then add the following to your .login file:
set path = ( ~/epics/base/bin/linux-x86 ~/epics/extensions/bin/linux-x86 ~/oag/apps/bin/linux-x86_64 $path )
setenv HOST_ARCH linux-x86_64
setenv EPICS_HOST_ARCH linux-x86_64
setenv RPN_DEFNS ~/.defns.rpn

If you are using an PPC based machine then add the following to your .login file:
set path = ( ~/epics/base/bin/linux-ppc ~/epics/extensions/bin/linux-ppc ~/oag/apps/bin/linux-ppc $path )
setenv HOST_ARCH linux-ppc
setenv EPICS_HOST_ARCH linux-ppc
setenv RPN_DEFNS ~/.defns.rpn

Step 2
If epics/base is already installed on your computer skip to step 3.

If you do not use EPICS follow these instructions:
Download the EPICS Base configure files. Unpack this to create epics/base/configure. Go to the epics/base directory and type make.

If you use EPICS follow these instructions:
Go to http://www.aps.anl.gov/epics/download/index.php. Here you will find information on downloading epics/base. For the purposes of this manual we will be using version R3.14.9 but you should probably always use the latest version. Create your epics directory then move R3.14.9.tar.gz into epics. Now you can uncompress it here to create epics/base. Next edit the file epics/base/configure/CONFIG and add:
CROSS_COMPILER_TARGET_ARCHS=
SHARED_LIBRARIES=NO
Next go to the epics/base directory and type make. This should take 5 to 10 minutes if there aren't any problems.

Step 3
Download and uncompress the following OAG source code:
If a local version of epics/base is installed I recommend uncompressing the files from the top directory that contains epics.
   REQUIRED
A. Configuration files for EPICS build system
     (epics.extensions.config.tar.gz)
B. SDDS Source
     (SDDS.1.31.tar.gz)
C. defns.rpn ( save as ~/.defns.rpn )

   OPTIONAL
D. SDDS Epics Source
     (SDDSepics.1.31.tar.gz)
E. Configuration files for elegant, spiffe, genesis, and shower
     (oag.apps.config.tar.gz)
F. Elegant
     (elegant.16.0.tar.gz)
G. Spiffe
     (spiffe.3.2.tar.gz)
H. Shower
     (shower.1.4.tar.gz)

Step 4
You will have to edit epics/extensions/configure/RELEASE and change EPICS_BASE to the correct directory. You may also have to change RELEASE.linux-x86 or RELEASE.linux-ppc with the same change.

Additionally with the release of Fedora Core 5 the standard location of the OpenMotif libraries is no longer at /usr/X11R6/lib, instead it is at /usr/lib. To avoid problems you will have to edit epics/extensions/configure/os/CONFIG_SITE.linux-x86.linux-x86 and change the X11_LIB, X11_INC, MOTIF_LIB, and MOTIF_INC values.

Next type make in the epics/extensions/configure directory.

Step 5
Change directory to epics/extensions/src/SDDS and type:
make

Step 6 - OPTIONAL STEPS FOR SDDS Epics Source
Change directory to epics/extensions/src/ezca and type make.
Change directory to epics/extensions/src/oagca and type make.
Change directory to epics/extensions/src/SDDSepics and type make.

Step 7 - OPTIONAL STEPS FOR Elegant, Spiffe, and Shower
You should now edit oag/apps/configure/RELEASE and oag/apps/configure/RELEASE_linux-x86 and set EPICS_BASE and EPICS_EXTENSIONS to the proper values.

Type make in the oag/apps/configure direcotry.

Change directory to oag/apps/src/physics and type make.
Change directory to oag/apps/src/elegant and type make.
Change directory to oag/apps/src/elegant/elegantTools and type make.
Change directory to oag/apps/src/elegant/sddsbrightness and type make.
Change directory to oag/apps/src/spiffe and type make.
Change directory to oag/apps/src/shower and type make.

Hopefully by following these steps the installation will not be too difficult. If you have problems please email me at soliday@aps.anl.gov