got all of the code to actually compile again

I don't think it actually works though.
diff --git a/aos/atom_code/camera/Buffers.cpp b/aos/atom_code/camera/Buffers.cpp
index bf16915..9cd1a7d 100644
--- a/aos/atom_code/camera/Buffers.cpp
+++ b/aos/atom_code/camera/Buffers.cpp
@@ -77,11 +77,11 @@
   do {
     if (block) {
       message_ = static_cast<const Message *>(queue_->ReadMessage(
-              Queue::kPeek | Queue::kBlock));
+              RawQueue::kPeek | RawQueue::kBlock));
     } else {
       static int index = 0;
       message_ = static_cast<const Message *>(queue_->ReadMessageIndex(
-              Queue::kBlock, &index));
+              RawQueue::kBlock, &index));
     }
   } while (block && message_ == NULL);
   if (message_ != NULL) {
@@ -137,7 +137,7 @@
 }
 Buffers::Buffers() : server_(CreateSocket(connect)), fd_(FetchFD()), message_(NULL) {
   MMap();
-  queue_ = Queue::Fetch(kQueueName.c_str(), sizeof(Message), 971, 1);
+  queue_ = RawQueue::Fetch(kQueueName.c_str(), sizeof(Message), 971, 1);
 }
 
 Buffers::~Buffers() {
diff --git a/aos/atom_code/camera/Buffers.h b/aos/atom_code/camera/Buffers.h
index 07177bc..080e9eb 100644
--- a/aos/atom_code/camera/Buffers.h
+++ b/aos/atom_code/camera/Buffers.h
@@ -54,7 +54,7 @@
   const Message *message_;
   static const std::string kQueueName;
   // NULL for the Reader one.
-  Queue *queue_;
+  RawQueue *queue_;
   // Make the actual mmap calls.
   // Called by Buffers() automatically.
   void MMap();
diff --git a/aos/atom_code/camera/Reader.cpp b/aos/atom_code/camera/Reader.cpp
index c87d173..95f6128 100644
--- a/aos/atom_code/camera/Reader.cpp
+++ b/aos/atom_code/camera/Reader.cpp
@@ -17,6 +17,7 @@
 #include "aos/atom_code/camera/V4L2.h"
 #include "aos/atom_code/camera/Buffers.h"
 #include "aos/common/logging/logging.h"
+#include "aos/atom_code/ipc_lib/queue.h"
 
 #define CLEAR(x) memset(&(x), 0, sizeof(x))
 
@@ -31,7 +32,7 @@
   // the bound socket listening for fd requests
   int server_fd_;
 
-  Queue *queue_, *recycle_queue_;
+  RawQueue *queue_, *recycle_queue_;
   // the number of buffers currently queued in v4l2
   uint32_t queued_;
  public:
@@ -51,11 +52,11 @@
               dev_name, errno, strerror(errno));
     }
 
-    queue_ = Queue::Fetch(Buffers::kQueueName.c_str(),
+    queue_ = RawQueue::Fetch(Buffers::kQueueName.c_str(),
                           sizeof(Buffers::Message), 971, 1,
                           1, Buffers::kNumBuffers, &recycle_queue_);
     // read off any existing recycled messages
-    while (recycle_queue_->ReadMessage(Queue::kNonBlock) != NULL);
+    while (recycle_queue_->ReadMessage(RawQueue::kNonBlock) != NULL);
     queued_ = 0;
 
     InitServer();
@@ -141,7 +142,7 @@
           // we block waiting for one if we can't dequeue one without leaving
           // the driver <= 2 (to be safe)
           recycle_queue_->ReadMessage((queued_ <= 2) ?
-                                      Queue::kBlock : Queue::kNonBlock));
+                                      RawQueue::kBlock : RawQueue::kNonBlock));
       if (read != NULL) {
         buf.index = read->index;
         recycle_queue_->FreeMessage(read);
@@ -176,7 +177,7 @@
     msg->bytesused = buf.bytesused;
     memcpy(&msg->timestamp, &buf.timestamp, sizeof(msg->timestamp));
     msg->sequence = buf.sequence;
-    if (!queue->WriteMessage(msg, Queue::kOverride)) {
+    if (!queue_->WriteMessage(msg, RawQueue::kOverride)) {
       LOG(WARNING,
           "sending message %p with buf #%" PRIu32 " to queue %p failed."
           " re-queueing now\n", msg, buf.index, queue_);
diff --git a/aos/atom_code/camera/camera.gyp b/aos/atom_code/camera/camera.gyp
index 9931806..f1743be 100644
--- a/aos/atom_code/camera/camera.gyp
+++ b/aos/atom_code/camera/camera.gyp
@@ -45,11 +45,11 @@
         'Buffers.cpp',
       ],
       'dependencies': [
-        '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:ipc_lib',
+        '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:queue',
         '<(AOS)/build/aos.gyp:logging',
       ],
       'export_dependent_settings': [
-        '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:ipc_lib',
+        '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:queue',
       ],
     },
     {
@@ -74,6 +74,7 @@
         'buffers',
         '<(AOS)/atom_code/atom_code.gyp:init',
         '<(AOS)/build/aos.gyp:logging',
+        '<(AOS)/atom_code/ipc_lib/ipc_lib.gyp:queue',
       ],
     },
   ],