Files
epics-base/documentation
2009-08-14 00:56:08 +00:00
..
2004-01-25 17:56:09 +00:00
2005-11-22 15:43:40 +00:00
2002-07-17 01:41:24 +00:00

Compiling EPICS and Building IOC Applications on Tru64Unix/Alpha
  (former Digital-Unix, and even former OSF1)
  for architectures "osf-alpha" and "osf-alpha-gnu"

======================================================================

Tools needed
------------

For C/C++ Compiler, you need one of these compiler set.

  - DEC/Compaq/HP's ANSI C/C++ compilers for "osf-alpha"
    I used 
      cc -V
      Compaq C V6.5-303 (dtk) on Compaq Tru64 UNIX V5.1B (Rev. 2650)
      Compiler Driver V6.5-302 (dtk) cc Driver
      cxx -V
      Compaq C++ V6.5-042 for Compaq Tru64 UNIX V5.1B (Rev. 2650)
      Compiler Driver V6.5-042 (cxx) cxx Driver

  - GNU gcc/g++ compiler for "osf-alpha-gnu"
    I used
      gcc --version
      gcc (GCC) 3.4.3

Environment
-----------

Before compiling, please set the environment variable EPICS_HOST_ARCH
dependent on your compiler.  

 for cc/cxx
  setenv EPICS_HOST_ARCH osf-alpha
  (setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl`)
  export EPICS_HOST_ARCH=osf-alpha

 for gcc/g++
  setenv EPICS_HOST_ARCH osf-alpha-gnu
  (setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl gnu`)
  export EPICS_HOST_ARCH=osf-alpha-gnu

Building
--------

Should be quite straightforward. Edit (if necessary) the CONFIG_SITE 
files and "make".  (Be sure that GNU make is in your path or call it 
explicitly as the standard make on Tru64Unix is _not_ GNU.)

For example (with csh):
  setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl` 
  make |& tee ../make-base-osf.log
  make runtests | & tee ../test-base-osf.log
  setenv EPICS_HOST_ARCH `startup/EpicsHostArch.pl gnu`
  make |& tee ../make-base-osfgnu.log

Minor errors are detected in and timer.  They should be investigated 
later. 

Some internals
-----------------------

__alpha is used to distinguish this architecture from others. 
__DECCXX is used to distinguish DEC/Compaq/HP C++ compiler from GNU's.
There are several ways to specify compiler options for pthread. 
  Please consult the pthread(3) manual page.  
src/libCom/osi/os/osf is used for osi definitions, 
  src/libCom/osi/os/alpha is not used. 
About 230 warning messages with cc/cxx, and 4 with gcc.  Sometimes
  errors from cxx are intuitive. 
I just started to use IOC application for a gateway purpose. There 
  can be architecture-dependent problems, that I didn't find yet. 

Only several lines in configure and src files were modified from 
  base-3.14.4/5/6/7/8/8.2/9pre.  Thanks the core team for keeping 
  the alpha-osf dependent part in the distribution. 

<URL:http://www-linac.kek.jp/jk/osf/>
Kazuro Furukawa <kazuro.furukawa at kek.jp>