EPICS Controls 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  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: checkRelease on Windows
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Mon, 9 Aug 2010 11:23:10 -0500
Hi Ulrik,

On Monday 09 August 2010 09:49:01 [email protected] wrote:
>
> perl W:\epics/R3.14.11/base/bin/win32-x86/convertRelease.pl checkRelease
> /dls_sw/epics/R3.14.11/base: No such file or directory at
> W:\epics/R3.14.11/base/bin/win32-x86/convertRelease.pl line 208

That error message is coming from the abs_path() subroutine which calls 
croak() if its path argument doesn't exist, which is obviously doesn't.  What 
I can't see is why there would be any change in behaviour between 3.14.10 and 
3.14.11, since there were virtually no relevant code changes between these two 
versions.

> The same modules with the same RELEASE files used to build OK on
> R3.14.10 - but not anymore.

Are you sure that your RELEASE.win86-x32 file paths used 'W:\...' under 
3.14.10, and not 'W:/...' (forward vs. backward slash)?  That is one thing 
that I'd want to see changed in case it matters.  I can't think what else 
might be causing a behaviour change.

> After playing around with the macros in the RELEASE and
> RELEASE.win32-x86 I found that if I don't use the macro expansion (so
> delete the WORK= and SUPPORT= macros and put all dependencies with full
> paths in both RELEASE files) it works and checkRelease completes. This
> leads me to think that the perl scripts (or makefile?) that expand
> macros is doing something different from R3.14.10...? However, I have
> not been able to trace down any changes in base that seems relevant to
> my problem.

Another possibility that might work would be to restore the WORK and SUPPORT 
macros, and also add SNCSEQ and ASYN macros into your RELEASE.win32-x86 file 
so it completely duplicates the RELEASE file.  I suspect what's happening is 
that the macro values are being expanded immediately on definition in the 
RELEASE file, so when the WORK and SUPPORT macros that they're supposed to 
depend on are changed this doesn't modify the values of SNCSEQ and ASYN.

I implemented := and ?= towards the end of last year, and those changes will 
appear in R3.14.12.  The := operator expands any macros on its right-hand side 
on definition, whereas the original = assignment isn't supposed to expand any 
macros in its value until they are actually used (the Release.pm module now 
implements = properly as well).  ?= only sets a value if the variable is 
currently undefined.  Both assignments have been supported by GNU make for 
some time, but the release file parser didn't understand them so they weren't 
allowed in release files before now.

HTH,

- Andrew
-- 
The best FOSS code is written to be read by other humans -- Harald Welte


Replies:
RE: checkRelease on Windows ulrik.pedersen
References:
checkRelease on Windows ulrik.pedersen

Navigate by Date:
Prev: archive server discussion Loris Giovannini
Next: Re: VxWorks and Radius Authentication Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: checkRelease on Windows ulrik.pedersen
Next: RE: checkRelease on Windows ulrik.pedersen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·