diff --git a/modules/gralloc/gralloc.cpp b/modules/gralloc/gralloc.cpp
index a371f05..44e42d8 100644
--- a/modules/gralloc/gralloc.cpp
+++ b/modules/gralloc/gralloc.cpp
@@ -19,6 +19,8 @@
 #include <fcntl.h>
 #include <errno.h>
 #include <pthread.h>
+#include <stdlib.h>
+#include <string.h>
 
 #include <sys/mman.h>
 #include <sys/stat.h>
@@ -238,6 +240,10 @@
             err = -errno;
         }
     } else {
+#ifndef HAVE_ANDROID_OS // should probably define HAVE_PMEM somewhere
+        LOGE("pmem not available on this target");
+        err = -1;
+#else
         private_module_t* m = reinterpret_cast<private_module_t*>(
                 dev->common.module);
 
@@ -284,6 +290,7 @@
                 LOGE("couldn't open pmem (%s)", strerror(-errno));
             }
         }
+#endif // HAVE_ANDROID_OS
     }
 
     if (err == 0) {
@@ -380,6 +387,10 @@
     } 
     else if (hnd->flags & private_handle_t::PRIV_FLAGS_USES_PMEM) 
     {
+#ifndef HAVE_ANDROID_OS
+        LOGE("pmem not available on this target");
+        return -EINVAL;
+#else
         if (hnd->fd >= 0) {
             struct pmem_region sub = { hnd->offset, hnd->size };
             int err = ioctl(hnd->fd, PMEM_UNMAP, &sub);
@@ -393,6 +404,7 @@
                 sAllocator.deallocate(hnd->offset);
             }
         }
+#endif // HAVE_ANDROID_OS
     }
 
     gralloc_module_t* m = reinterpret_cast<gralloc_module_t*>(
