g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  Index 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
<== Date ==> <== Thread ==>

Subject: EPICS on LINUX
From: "Hammonds, John" <JHammonds@pns.anl.gov>
To: "'tech-talk@aps.anl.gov'" <tech-talk@aps.anl.gov>
Date: Mon, 5 Jan 1998 14:13:28 -0600
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
JPHammonds@anl.gov


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  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
Navigate by Thread:
Prev: e2db changes are available William Lupton
Next: RE: EPICS on Linux Hammonds, John
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·