EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: EPICS Application Package
From: Mark Rivers <[email protected]>
To: 'Vikram Bhagat' <[email protected]>, Tech-Talk <[email protected]>
Date: Mon, 15 Oct 2018 22:02:31 +0000

Hi Vikram,

 

I think you are asking about a fairly small and simple installation.  I handle our rather small set of beamlines using the following scheme.

 

I use a single Linux machine (called corvette) to hold the working directories of EPICS base, synApps, areaDetector, etc.  This machine runs Centos 7.  I build on corvette itself for the linux-x86_64, linux-x86, and vxWorks-ppc32 architectures. 

 

I also build for the following additional architectures from other computers:

 

EPICS_HOST_ARCH     Description

linux-x86_64-rhel6  64-bit RHEL 6

linux-86_64-gcc42   64-bit Suse 11.0

linux-x86-rhel6     32-bit RHEL 6

windows-x64-static  64-bit Windows static

windows-x64         64-bit Windows dynamic

win32-x86-static    32-bit Windows static

These builds are needed because I have hardware that only runs on those operating systems.  However, all of those builds are done using NFS or SMB mounts to the same working directories on corvette.  There is only a single copy of the source code, and a single bin/, lib/, etc. directory for each module.

 

I typically build the same IOC application called CARS for most of our IOCs.  Here is a listing of the bin directory for that application:

corvette:~/support>ls -l ~/support/CARS/bin

total 0

drwxrwxr-x 2 epics domain users 20 Oct  3 13:20 linux-x86

drwxrwxr-x 2 epics domain users 20 Oct  3 13:25 linux-x86-rhel6

drwxrwxr-x 2 epics domain users 20 Oct  3 13:15 linux-x86_64

drwxr-xr-x 2 epics domain users 20 Oct  3 13:35 linux-x86_64-gcc42

drwxrwxr-x 2 epics domain users 20 Sep 25 10:06 linux-x86_64-rhel6

drwxrwxr-x 2 epics domain users 40 Oct  3 13:20 vxWorks-ppc32

drwxrwxrwx 2 epics domain users 24 Oct  3 13:36 win32-x86-static

drwxrwxrwx 2 epics domain users 39 Oct  3 14:08 windows-x64

drwxrwxrwx 2 epics domain users 24 Oct  3 13:51 windows-x64-static

 

For areaDetector and a few other “detector” modules I don’t build those into the CARS application, but rather make dedicated IOCs for each detector type (Pilatus, Perkin Elmer, Prosilica, etc.)

 

When running EPICS on computers on our local beamlines, the setup is as follows:

- IOC application runs on the machines running the above operating systems (mix of various Linux and Windows) which is connected to the hardware.

- For all Linux machines all files (executables, shareable libraries, db files, dbd files, OPI files, iocBoot directories,) are on corvette.  There is nothing locally installed on the IOC computer, unless the IOC is running on corvette.

- For Windows all files are on corvette except .exe and .dll files used by the IOCs at run-time.  These cannot be kept on corvette, because they cannot be updated when any IOC has a file in use.  Thus, the .exe and .dll files are copied to a single local directory on the Windows machine each time an update is done.

 

For remote machines that cannot access corvette at run-time I build a standalone tar or zip file using a script like that attached.  It copies all require bin, db, dbd, and op directories.  This tar or zip file can be unpacked on a remote machine.  A starting iocBoot/iocXXX directory is copied to a new one and the st.cmd and envPaths files are edited.  It is very simple, and has proven very useful for remote or portable Windows and Linux systems.

 

For areaDetector IOCs there is a simple script that does the same thing as the attached script, building a standalone package for the selected detector type and target architecture that can be installed on any computer.

 

https://github.com/areaDetector/areaDetector/blob/master/makeADPrebuilt

 

Mark

 

 

 

 

 

From: [email protected] <[email protected]> On Behalf Of Vikram Bhagat via Tech-talk

Sent: Thursday, October 11, 2018 11:55 PM

To: epics talk <[email protected]>

Subject: EPICS Application Package

 

Hi,

 

   What is the way to package EPICS application?

 

I have developed EPICS IOC application using Base7, Asyn and Stream device. I is working fine on my development computer having Ubuntu OS.

Now i would like to deploy the IOC application on the other ubuntu computer without installing EPICS base, Asyn etc.

 

How i can make package so that i can directly install application on the new PC without installing all stuff separately.

 

How people are doing this for EPICS development?

 

 

Thanking you.

Vikram

Attachment: make_standalone_tar
Description: make_standalone_tar


Replies:
Re: EPICS Application Package Vikram Bhagat via Tech-talk
References:
EPICS Application Package Vikram Bhagat via Tech-talk

Navigate by Date:
Prev: RE: Help on UV camera Mark Rivers
Next: Camera Recommendations [SEC=UNCLASSIFIED] POZAR, Andraz
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS Application Package Rod Nussbaumer
Next: Re: EPICS Application Package Vikram Bhagat via Tech-talk
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 16 Oct 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·