Experimental Physics and Industrial Control System
|
Hey Andrew,
thanks for your reply. The patch I provided was just the first
idea I had, when looking at the involved Perl module.
When finding a bug I usually try to find and provide a solution,
which of course might not be the best solution.
I will also try your suggestion by just setting the variables to
nothing.
Cheers,
Florian
On 8/18/20 7:31 PM, Johnson, Andrew N.
wrote:
Hi Florian,
On Aug 18, 2020, at 3:32 AM, Florian Feldbauer via
Core-talk < core-talk at aps.anl.gov> wrote:
I'm using Base 7.0.3.1 and
have noticed a small Problem.
I tried building calc, asyn, stream and
iocStats modules (in this order) using a
`$(TOP)/../RELEASE.local` file, so I do not have to
make site specific modifications to any of the git
repos.
My RELEASE.local looks like this:
## Module directory
SUPPORT = /opt/epics/modules
## unused "optional" dependencies
undefine IPAC
undefine SNCSEQ
undefine SSCAN
undefine PCRE
## Modules
ASYN = $(SUPPORT)/asyn
CALC = $(SUPPORT)/calc
IOCSTATS = $(SUPPORT)/iocStats
STREAM = $(SUPPORT)/stream
## EPICS BASE
EPICS_BASE = /opt/epics/base
Now building calc, asyn, and stream works
just fine, but building iocStats failed with
perl -CSD
/opt/epics/base/bin/linux-x86_64/convertRelease.pl
checkRelease
Definition of SNCSEQ conflicts with ASYN support.
In this application or module, a RELEASE file
conflicts with ASYN at /opt/epics/modules/asyn
Here: SNCSEQ = /opt/epics/modules/seq-2-0-12
ASYN: SNCSEQ = /opt/epics/modules/seq-2-2-5
Looking at
${BASE}/lib/perl/EPICS/Release.pm, the script looks
only for definitions like "<macro> =
<path>", but is ignoring "undefine" statements
which leads to above error.
The version of GNUmake we were using when I wrote the
original EPICS::Release Perl module didn’t have an
undefine statement at
all, it got added fairly recently. Just setting a variable to
nothing is usually sufficient to resolve the above
issue, so instead of your block of undefine statements above you should
be able to do this:
## unused "optional" dependencies
IPAC=
SNCSEQ=
SSCAN=
PCRE=
We don’t normally use the GNUmake ‘flavor’ or ‘origin’
functions which can tell the difference, and the above
approach will work with any EPICS release.
Attached is a small patch to also handle those
undefine statements.
I don’t see any problem with adding support for
that syntax. I see that this was discussed on tech-talk in
June last year, but as you discovered that only works with one
of the two RELEASE file parsers that the EPICS build system
relies on. I am using a different implementation than your
patch and optimizing the other code in that routine slightly
at the same time, so this should appear in 7.0.4.2 or 7.0.5,
whichever comes next.
Thanks,
- Andrew
--
Complexity comes for free, simplicity you have to work
for.
--
Ruhr-Universität Bochum
AG der Experimentalphysik I
Dr. Florian Feldbauer
NB 2/131 / Fach 125
Universitätsstr. 150
D-44801 Bochum
Office: NB 2/134
Phone: (+49)234 / 32-23563
Fax: (+49)234 / 32-14170
https://paluma.ruhr-uni-bochum.de
- References:
- Possible bug in convertRelease.pl Florian Feldbauer via Core-talk
- Re: Possible bug in convertRelease.pl Johnson, Andrew N. via Core-talk
- Navigate by Date:
- Prev:
Jenkins build is back to stable : epics-7.0 » linux32 #252 APS Jenkins via Core-talk
- Next:
Re: Possible bug in convertRelease.pl Florian Feldbauer via Core-talk
- Index:
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: Possible bug in convertRelease.pl Johnson, Andrew N. via Core-talk
- Next:
Re: Possible bug in convertRelease.pl Florian Feldbauer via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
|
ANJ, 19 Aug 2020 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|