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)