EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Possible bug in convertRelease.pl
From: Florian Feldbauer via Core-talk <core-talk at aps.anl.gov>
To: "Johnson, Andrew N." <anj at anl.gov>
Cc: EPICS core-talk <core-talk at aps.anl.gov>, Peter Zumbruch <P.Zumbruch at gsi.de>
Date: Wed, 19 Aug 2020 09:10:15 +0200

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  <20202021  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  <20202021  2022  2023  2024 
ANJ, 19 Aug 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·