Thanks, Andrew and Michael! That is exactly the cause and solution.
Sorry to hijack this thread. What I have done with '/usr/lib/epics' is related to my experiment on building RPM packages on Red Hat 8. There were discussions about RPM on Tech-Talk, such as https://epics.anl.gov/tech-talk/2018/msg02082.php
Has any facility built, smoothly deployed and happily used RPM packages for EPICS installation of the base and popular support modules (seq, asyn, motor, streamDevice, etc.)? Please share your repositories (or building rules / specs) and your experience. Thank you!
Yong
On 4/21/21, 1:03 AM, "Michael Davidsaver" <mdavidsaver at gmail.com> wrote:
On 4/20/21 4:04 PM, Johnson, Andrew N. via Tech-talk wrote:
> Hi Yong,
>
> I don’t think it’s actually possible to install both Base and SNCSEQ into the same INSTALL_LOCATION (i.e. into your /usr/lib/epics/lib path) without making some changes to the build system. The sequencer provides its own set of build rules in a file configure/RULES_BUILD which tell GNUmake how to compile .st and .stt files into .c files. That file has the same name as the file that comes with Base to tell GNUmake how to compile .c and .cpp files into .o files (and many other similar and related rules) so their contents are very different but in your layout they would be installed at the same path. Your SNCSEQ package must not have the necessary BUILD_RULES file in it, which is good because that would clash with the Base version anyway.
>
> The EPICS build system automatically reads in any configure/RULES_BUILD files that it sees in any module listed in the application’s configure/RELEASE file. Thus in a normal EPICS build environment it will load the Sequencer’s rules automatically when that is listed in RELEASE.
>
> The Debian packaging for the sequencer needs to work out what to do about that. Maybe in an earlier release the two RULES_BUILD files were combined into the one that came with Base itself? There have been many changes to the Base RULES_BUILD file since 3.14.12.
The extra rules do get installed and included.
https://github.com/epicsdeb/seq/blob/d2e9f883eb3684d5621cdcd04cb2c35d441fe59a/debian/rules#L14
https://github.com/epicsdeb/epics-base/blob/81b977c296c865e9e370bd1cf3e8910698ad7fbf/debian/patches/0003-allow-more-flexible-makefile-config.patch#L23
> $ make PRINT.SNC
Should show the location of the snc executable.
cf. https://github.com/epicsdeb/seq/blob/d2e9f883eb3684d5621cdcd04cb2c35d441fe59a/configure/RULES_BUILD#L35-L43
> - Andrew
- Replies:
- Re: RPM packages for EPICS Johnson, Andrew N. via Tech-talk
- Re: RPM packages for EPICS Ralph Lange via Tech-talk
- Re: RPM packages for EPICS J. Lewis Muir via Tech-talk
- Navigate by Date:
- Prev:
RE: asyn: No rule to make target 'ipSNCServer.o'; Does configure/RELEASE have multiple pointers to ... Mark Rivers via Tech-talk
- Next:
Re: asyn: No rule to make target 'ipSNCServer.o'; Does configure/RELEASE have multiple pointers to ... Hu, Yong 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
2018
2019
2020
<2021>
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: What is the best (and simple) way to implement security in a Phoebus solution? J. Lewis Muir via Tech-talk
- Next:
Re: RPM packages for EPICS Johnson, Andrew N. 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
2018
2019
2020
<2021>
2022
2023
2024
|