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. Kazuro Furukawa