Hi Tim,
Arithmetic with macros like EPICS_MODIFICATION<(l) only works if
EPICS_MODIFICATION is numeric. This is not guaranteed. In pre-releases like
3.14.10-pre1 we have:
# This part may contain letters, eg 0beta1
EPICS_MODIFICATION = 10pre1
Of course it would be nice to have a mechanism to find out the current EPICS
release, but EPICS does not provide this feature.
Dirk
Tim Mooney wrote:
John,
You can fix the scanOnce errors like this:
scanOnce((struct dbCommon *)psscan);
and the precision problem like this:
pPos->p_pr = precPvt->pDynLinkInfo->precision.dp;
But note that the precision fix is base-version dependent. The current
sscanRecord code actually looks like this:
#include <epicsVersion.h> /* for LT_EPICSBASE macro */
...
/* Less than EPICS base version test.*/
#define LT_EPICSBASE(v,r,l) ((EPICS_VERSION<=(v)) &&
(EPICS_REVISION<=(r)) && (EPICS_MODIFICATION<(l)))
...
#if LT_EPICSBASE(3,14,10)
pPos->p_pr = precPvt->pDynLinkInfo->precision;
#else
pPos->p_pr = precPvt->pDynLinkInfo->precision.dp;
#endif
Tim
John M. Skinner wrote:
I'm trying to build sscan 2.6.2 on EPICS base 3.14.10 but get these
compile warnings and errors:
../sscanRecord.c: In function `special':
../sscanRecord.c:1451: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c:1585: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c: In function `notifyCallback':
../sscanRecord.c:2457: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c: In function `userGetCallback':
../sscanRecord.c:2523: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c: In function `pvSearchCallback':
../sscanRecord.c:2613: error: incompatible types in assignment
../sscanRecord.c:2643: error: incompatible types in assignment
../sscanRecord.c:2743: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c: In function `posMonCallback':
../sscanRecord.c:2818: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c: In function `doPuts':
../sscanRecord.c:4013: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
../sscanRecord.c:4190: warning: passing arg 1 of `scanOnce' from
incompatible pointer type
I get the same results on both Fedora Core 3 and Fedora Core 8. I have
no problem building the scan record on EPICS base 3.14.9.
thanks,
John Skinner (BNL/NSLS)
--
Dr. Dirk Zimoch
Paul Scherrer Institut, WBGB/006
5232 Villigen PSI, Switzerland
Phone +41 56 310 5182
- Replies:
- Re: sscan compile error on base 3.14.10 on linux Tim Mooney
- Re: sscan compile error on base 3.14.10 on linux Andrew Johnson
- References:
- sscan compile error on base 3.14.10 on linux John M. Skinner
- Re: sscan compile error on base 3.14.10 on linux Tim Mooney
- Navigate by Date:
- Prev:
Re: solaris-x86 build error on 3.14.10 Andrew Johnson
- Next:
Re: sscan compile error on base 3.14.10 on linux Tim Mooney
- 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:
Re: sscan compile error on base 3.14.10 on linux Tim Mooney
- Next:
Re: sscan compile error on base 3.14.10 on linux Tim Mooney
- 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
|