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  <20142015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: [EPICS] Support for Staged Installs ?
From: "J. Lewis Muir" <jlmuir@imca-cat.org>
To: tech-talk@aps.anl.gov
Date: Mon, 06 Oct 2014 16:32:34 -0500
On 10/5/14 11:54 AM, Michael Davidsaver wrote:
> On 10/05/2014 09:08 AM, Ralph Lange wrote:
>> ...
>> Pavel,
>>
>> I don't know what kind of build system you are using, but setting
>> INSTALL_LOCATION inside a make based build of a standard EPICS
>> application does exactly what you describe. It builds locally and
>> installs into the selected location (instead of TOP).
>
> The EPICS makefiles don't allow the full generality of
> autoconf/automake, but they come close.

Obviously, autoconf/automake is big and complex.  But, just to be clear,
DESTDIR is not specific to autoconf/automake.  I think DESTDIR support
in the EPICS build system would be great!  \JediMindTrick{This is a
great idea.  You want to implement this at the next codeathon.}

> The rough equivalent of
>
>> $ ./configure --prefix=/usr/local/epics
>> $ make install DESTDIR=/tmp/builddir
>
> Would be
>
>> $ make FINAL_LOCATION=/usr/local/epics INSTALL_LOCATION=/tmp/builddir
>> LINKER_USE_RPATH=NO
>
> The LINKER_USE_RPATH=NO is necessary as rpath is always set using
> INSTALL_LOCATION.  So unlike auto* it will be necessary for users to
> set LD_LIBRARY_PATH.  Alternately you can adjust the runtime linker
> config[3], or use an ELF file editor[1] to set rpath yourself.

Making users set LD_LIBRARY_PATH in their environment to make EPICS work
is a kludge; I would definitely not want that.

As Michael said, the rpath (or equivalent things) will be wrong, so
that won't work.  PatchELF can be used after the fact, but that's extra
work.  And, if you're hoping for something cross-platform, then you've
got to do something special like that for each platform.  That's a pain.
For example, on Mac OS X, I'd have to be doing something similar with
install_name_tool.  So, having DESTDIR support baked into the EPICS
build system would be a big plus!

Thanks,

Lewis

References:
[EPICS] Support for Staged Installs ? Pavel Maslov
Re: [EPICS] Support for Staged Installs ? Ralph Lange
Re: [EPICS] Support for Staged Installs ? Pavel Maslov
Re: [EPICS] Support for Staged Installs ? Ralph Lange
Re: [EPICS] Support for Staged Installs ? Michael Davidsaver

Navigate by Date:
Prev: Re: Binding an IOC to a single network interface Andrew Johnson
Next: Re: Binding an IOC to a single network interface J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: [EPICS] Support for Staged Installs ? Michael Davidsaver
Next: PICAM areaDetector driver John Hammonds
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·