Doing math on void pointers isn't portable, reported by Nathan McSween.
diff --git a/lib/lib.c b/lib/lib.c
index 14de91d..16c36b0 100644
--- a/lib/lib.c
+++ b/lib/lib.c
@@ -67,7 +67,7 @@
   size_t count = 0;
 
   while (count<len) {
-    int i = read(fd, buf+count, len-count);
+    int i = read(fd, (char *)buf+count, len-count);
     if (!i) break;
     if (i<0) return i;
     count += i;