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
<2010>
2011
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
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|