Fix build with gcc 14.1

Change-Id: I29278eb7743458c8f6266f96bc0ba6cdf3dd8d6a
diff --git a/lib/IDS/DeReKoVecs/derekovecs-server.c b/lib/IDS/DeReKoVecs/derekovecs-server.c
index 2234c66..286c7ca 100644
--- a/lib/IDS/DeReKoVecs/derekovecs-server.c
+++ b/lib/IDS/DeReKoVecs/derekovecs-server.c
@@ -509,7 +509,7 @@
       for (b = 0; b < size; b++) {
         av_push(vector, newSVnv(M[b + j * size]));
       }
-      av_push(result, newRV_noinc(vector));
+      av_push(result, newRV_noinc((SV *)vector));
     }
   }
   return result;
@@ -639,7 +639,7 @@
   }
 
   result = malloc(N * max_w);
-  char *p = result;
+  char *p = (char *) result;
   *p++ = '[';
   *p = 0;
   for (a = 0; a < N; a++) {
@@ -789,14 +789,14 @@
   printf("Syn threads joint\n");
   fflush(stdout);
   result = malloc(maxPerPos * 80 * syn_threads);
-  char *p = result;
+  char *p = (char *) result;
   *p = 0;
   for (a = syn_threads - 1; a >= 0; a--) {
     for (b = 0; b < syn_nbs[a]->length; b++) {
       p += sprintf(p, "%ld\t%s\t%f\n", syn_nbs[a]->best[b].position, &vocab[syn_nbs[a]->best[b].wordi * max_w], syn_nbs[a]->best[b].activation);
     }
   }
-  return (result);
+  return ((char *)result);
 }
 
 SV *get_neighbours(char *st1, int N, int sort_by, int search_backw, long cutoff, int dedupe, int no_similar_profiles) {