Experimental Physics and Industrial Control System
Here is a compiled list of changes that I made to EPICS to get R3.13.b11
to work under Linux. Most of the changes were for configuration files
and SDDS.
Notes on linux build of EPICS extensions
John Hammonds
Intense Pulsed Neutron Source
[email protected]
Build was performed using Redhat Linux V4.1 and Redhat Motif 2.0.1
Log in as root
cd /usr/local
mkdir /usr/local/epics
chown <username> epics
chgrp <username> epics
Where <username> us the username of the EPICS manager account.
vi /etc/profile. Add
source /usr/local/epics/startup/Site.profile
Log in as <username>
cd /usr/local/epics
tar -xzvf r3_13_0_beta4-linuxelf.tar.gz
tar -xzvf extensions2-17-97.tar.gz
tar -xzvf extensions4-15-97config.tar.gz
/***************************************************************
vi /usr/local/epics/config/CONFIG_SITE
change
EPCIS_BASE=/usr/local/epics/baseR3.13.0.beta4 =>
EPCIS_BASE=/usr/local/epics/base (It would seem more
appropriate if the
Linux
base distribution
follows
the same convention
as for
Sun i.e use
baseR3.13.0...
instad of simply
base)
ANSI=ACC => ANSI=GCC
STANDARD=ACC => STANDARD=GCC
CPLUSPLUS=CCC => CPLUSPLUS=G++
/****************************************************************
vi /usr/local/epics/config/CONFIG_SITE.Unix.Linux
change
X11_LIB=/usr/X386/lib => X11_LIB=/usr/X11R6/lib
X11_INC=/usr/X386/include/X11 =>
X11_INC=/usr/X11R6/include/X11
MOTIF_LIB=/usr/X386/lib => MOTIF_LIB=/usr/X11R6/lib
MOTIF_INC=/usr/X386/include => /usr/X11R6/include
/**************************************************************
vi /usr/local/epics/extensions/src/SDDS/mdblib/scanargs.c
modify
#if defined(SUNOS4)
_iob[1] = *fp;
#else
__iob[1] = *fp;
#endif
#elif defined(VAX_VMS)
stdout = *fp;
#endif
=>
#if defined(SUNOS4)
_iob[1] = *fp;
#elif defined(linux)
*_IO_stdout = *fp;
#else
__iob[1] = *fp;
#endif
#elif defined(VAX_VMS)
stdout = *fp;
#endif
and
#if defined(SUNOS4)
_iob[0] = *fp;
#else
__iob[0] = *fp;
#endif
#elif defined(VAX_VMS)
stdin = *fp;
#endif
=>
#if defined(SUNOS4)
_iob[0] = *fp;
#elif defined(linux)
*_IO_stdin = *fp;
#else
__iob[0] = *fp;
#endif
#elif defined(VAX_VMS)
stdin = *fp;
#endif
/************************************************
to get /usr/local/epics/extensions/src/SDDS/SDDSlib/SDDS_utils.c to
compile the
-ansi was removed. I performed make and simply removed -ansi from the
compile line when the error comes up.
/***********************************************
go to /usr/local/epics/extensions and run make to build the extensions.
I currently have the following extensions made:
/usr/local/epics/extensions/bin/Linux
[hammonds@localhost Linux]$ ls
TFS2sdds mpl_x11 sddsinterp
alh mpl_x11c sddsmatrixmult
caGet mpl_x11g sddsminterp
caInfo nlpp sddsmselect
caInfo1 plot1d.pro sddsmultihist
caPut probe sddsmxref
caget putScopeSetup sddsoutlier
camonitor pvsearch.tcl sddspeakfind
caput raw2sdds sddspfit
catcher rpn sddsplot
catcher.exe rpnl sddsprintout
catcher_v1.init run_tcl_select sddsprocess
catcher_v1.pro sdds2math sddspseudoinverse
cau sdds2mpl sddsquery
cavget sdds2spreadsheet sddsregroup
cavput sdds2stream sddsrowstats
cawait sddsbreak sddsrunstats
citi2sdds sddschanges sddsselect
csv2sdds sddscheck sddssequence
dbedit sddscollapse sddsshift
dbreport sddscollect sddssinefit
ezcaIDL.pro sddscombine sddsslopes
ezcaIDL.so sddscongen sddssmooth
ezcaIDLWidgets.pro sddscontour sddssort
ezcaWave.so sddsconvert sddssplit
ezcaidl_startup.pro sddscorrelate sddstimeconvert
getScopeSetup sddsderef sddstranspose
getScopeWaveform sddsderiv sddsvslopes
hpif2sdds sddsdigfilter sddsxref
hpwf2sdds sddsdistest sddszerofind
lba2sdds sddsenvelope sendScopeCommand
makeExampleApp sddsexpfit setup_ezcaIDL
makeQuickApp sddsfdfilter stripTool
mcs2sdds sddsfft tcl_select
medm sddsgfit tek2sdds
motifButton sddshist view2d.init
mpl2sdds sddshist2d view2d.pro
mpl_motif sddsinteg xmca
[hammonds@localhost Linux]$
/usr/local/epics/extensions/lib/Linux
[hammonds@localhost Linux]$ ls
libANLwidgets.a libSDDS1.a libmatlib.a libpprsyd.a
libEzca.a libSDDS1c.a libmdblib.a librpnlib.a
libGraphX.a libUnix.a libmdbmth.a libtclCa.a
libLca.a libezca.a libmdbplt.a
libPrintUtils.a libfftpack.a libnamelist.a
Not all of these have been tested since I am unsure what all of them
do!!
Many compile time warnings occur (especially complaints about the
redefinition
of PI when rebuilding SDDS extensions conflicting definitions in
constants.h
and /usr/include/math.h)
------------------------------------------------------------------------
----
John P. Hammonds
Intense Pulsed Neutron Source
Argonne National Laboratory
(630)252-5317
- Navigate by Date:
- Prev:
e2db changes are available William Lupton
- Next:
EPICS training Bob Dalesio
- Index:
1994
1995
1996
1997
<1998>
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
e2db changes are available William Lupton
- Next:
RE: EPICS on Linux Hammonds, John
- Index:
1994
1995
1996
1997
<1998>
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024