Hi Tulip,

The R NEWS file says "Strict R headers are now the default. This removes the legacy definitions of PI, Calloc, Realloc and Free: use M_PI, R_Calloc, R_Realloc or R_Free instead" here: https://cran.r-project.org/doc/manuals/r-devel/NEWS.html so the patch below fixes the source compilation of groHMM.

NB: Resending in plain text because the mailing list list rejected my previous message with "The message's content type was not explicitly allowed" for some reason.

Pariksheet
---


diff --git a/src/hmmMiscFunctions.c b/src/hmmMiscFunctions.c
index 68d2359..85e1a29 100755
--- a/src/hmmMiscFunctions.c
+++ b/src/hmmMiscFunctions.c
@@ -271,8 +271,8 @@ extern void SStatsGamma_p1(int state, int emis_indx, void* ss, fwbk_t fwbk) {
 }
 extern void UpdateGamma(int state, void* ss, hmm_t *hmm) {
   ssGamma *SS = (ssGamma*)ss;
-  double *shape= (double*)Calloc(1, double);
-  double *scale= (double*)Calloc(1, double);
+  double *shape= (double*)R_Calloc(1, double);
+  double *scale= (double*)R_Calloc(1, double);
   int updateRetVal= MLEGamma(SS[0].N, SS[0].sumPiXi, SS[0].sumLogPiXi,
                         shape, scale);
   if(updateRetVal == 0) {
@@ -284,8 +284,8 @@ extern void UpdateGamma(int state, void* ss, hmm_t *hmm) {
         due to instibility!  Using Shape: %f; Scale: %f\n",
         state, hmm[0].em_args[state][0], hmm[0].em_args[state][1]);
   }
-  Free(shape);
-  Free(scale);
+  R_Free(shape);
+  R_Free(scale);
 }
 // Used to fit a constrained gamma, where E[x] = 1, and shape=1/scale.
extern void UpdateGamma_SHAPEeq1overSCALE(int state, void* ss, hmm_t *hmm) {







On 1/24/25 11:58 AM, Tulip Nandu wrote:
Hi,

Can anyone please help with this error. I solved one error of dgeTests now this 
one cropped up. THis wan all working fine before. Has anything changed.

Please let me know. Any help is appreciated.

Regards,

Tulip.



"

hmmMiscFunctions.c: In function ‘SStatsGamma’:
hmmMiscFunctions.c:235:37: warning: format ‘%d’ expects argument of type ‘int’, 
but argument 2 has type ‘double’ [-Wformat=]
   235 |     if(!(logPP <= epsilon)) Rprintf("[SSallocGamma] -- \
       |                                     ^~~~~~~~~~~~~~~~~~~~
   236 |         Assertion about to fail!  logPP= %d\n", logPP);
       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~
       |                                                 |
       |                                                 double
hmmMiscFunctions.c: In function ‘UpdateGamma’:
hmmMiscFunctions.c:274:27: warning: implicit declaration of function ‘Calloc’; 
did you mean ‘calloc’? [-Wimplicit-function-declaration]
   274 |   double *shape= (double*)Calloc(1, double);
       |                           ^~~~~~
       |                           calloc
hmmMiscFunctions.c:274:37: error: expected expression before ‘double’
   274 |   double *shape= (double*)Calloc(1, double);
       |                                     ^~~~~~
hmmMiscFunctions.c:275:37: error: expected expression before ‘double’
   275 |   double *scale= (double*)Calloc(1, double);
       |                                     ^~~~~~
hmmMiscFunctions.c:287:3: warning: implicit declaration of function ‘Free’; did 
you mean ‘free’? [-Wimplicit-function-declaration]
   287 |   Free(shape);
       |   ^~~~
       |   free
make: *** [/home/biocbuild/bbs-3.21-bioc/R/etc/Makeconf:195: 
hmmMiscFunctions.o] Error 1
ERROR: compilation failed for package ‘groHMM’
* removing ‘/home/biocbuild/bbs-3.21-bioc/R/site-library/groHMM’

"

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to