Hi Dan,
In case this catches anyone else ...
FWIW, I found the issue ... in my Rinit.c, my package uses the .External call
which actually takes one SEXP which points to a "varargs-like" list.
Under 2.15.X and earlier, I thought the proper entry for an .External call was
as below since it only does take one pointer as an argument:
#include "Rigroup.h"
/* Automate using sed or something. */
#if _MSC_VER >= 1000
__declspec(dllexport)
#endif
static const R_ExternalMethodDef R_ExtDef[] = {
{"igroupFuns", (DL_FUNC)&igroupFuns, 1},
{NULL, NULL, 0},
};
void R_init_Rigroup(DllInfo *info)
{
R_registerRoutines(info,NULL,NULL,NULL,R_ExtDef);
}
But now according to the latest online docs on building your own package it
says:
"For routines with a variable number of arguments invoked viathe .External
interface, one specifies -1 for the number of arguments which tells R not to
check the actual number passed. Note that the number of arguments passed to
.External are not currently checked but they will be in R 3.0.0."
So I need to change my Rinit.c to change the "1" to a "-1" and that error
should go away.
Thanks again for all your help with this. I will update my package and
resubmit it once version 3.0 gets released and I get a chance to verify that
this does in fact fix the problem.
Kevin
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel