diff --git a/lib/IDS/DeReKoVecs/Read.pm b/lib/IDS/DeReKoVecs/Read.pm
index 4e9d148..86bd8a8 100644
--- a/lib/IDS/DeReKoVecs/Read.pm
+++ b/lib/IDS/DeReKoVecs/Read.pm
@@ -19,7 +19,7 @@
   $src_file =~ s/Read.pm/derekovecs-server.c/;
 }
 
-use Inline C => "$src_file" => CLEAN_AFTER_BUILD => 0, BUILD_NOISY => 1, ccflags =>  $Config{ccflags} . "-Wall -fno-rtti -O4 -I/usr/local/include", libs => "-L/usr/local/lib64 -l:libcollocatordb.so.1.3.0";
+use Inline C => "$src_file" => CLEAN_AFTER_BUILD => 0, BUILD_NOISY => 1, ccflags =>  $Config{ccflags} . "-Wall -Wno-unused-result -fno-rtti -O4 -I/usr/local/include", libs => "-L/usr/local/lib64 -l:libcollocatordb.so.1.3.0";
 #use Inline C => Config => BUILD_NOISY => 1, CFLAGS => $Config{cflags}." -O4 -mtune k9";
 #use Inline C => Config => CLEAN_AFTER_BUILD => 0, ccflags => $Config{ccflags}." -Ofast -march k8 -mtune k8 ";
 
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) {
