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: "Johnson, Andrew N. via Core-talk" <core-talk at aps.anl.gov>
To: Florian Feldbauer <florian at ep1.ruhr-uni-bochum.de>
Cc: EPICS core-talk <core-talk at aps.anl.gov>, Peter Zumbruch <P.Zumbruch at gsi.de>
Date: Wed, 19 Aug 2020 11:39:33 +0000
Hi Florian,

On Aug 19, 2020, at 3:10 AM, Florian Feldbauer <florian at ep1.ruhr-uni-bochum.de> wrote:

I tried your suggestion, but it does not work:

perl -CSD /opt/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease

This application's RELEASE file(s) define
    IPAC =
after but not adjacent to
    SNCSEQ =
both of which resolve to /opt/epics/modules/iocStats/configure/O.linux-x86_64
Module definitions that share paths must be grouped together.
Either remove a definition, or move it to a line immediately
above or below the other(s).
Any non-module definitions belong in configure/CONFIG_SITE.

Having multiple Variables point to the same value (nothing) seems not allowed by convertRelease.pl.

We fixed that in November last year so it should work for 7.0.4 and later, but not for your version. Sorry I forgot about that issue…

- Andrew



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

-- 
Complexity comes for free, simplicity you have to work for.


References:
Possible bug in convertRelease.pl Florian Feldbauer via Core-talk
Re: Possible bug in convertRelease.pl Johnson, Andrew N. via Core-talk
Re: Possible bug in convertRelease.pl Florian Feldbauer via Core-talk

Navigate by Date:
Prev: Re: Possible bug in convertRelease.pl Florian Feldbauer via Core-talk
Next: [Bug 1892190] [NEW] Building epics-base fails on musl based systems Sébastien Wertz 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 Florian Feldbauer via Core-talk
Next: getVersionHelper.pl ignore -V option Jeong Han Lee 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 ·