diff --git a/common/cpp/src/system_io.cpp b/common/cpp/src/system_io.cpp
index 2419106b094a83fae370bacc8db7cf22ab120b75..ab3b0eaf3b776a40745b3065b37ca2078edee7fc 100644
--- a/common/cpp/src/system_io.cpp
+++ b/common/cpp/src/system_io.cpp
@@ -46,9 +46,8 @@ void SystemIO::Skip(SocketDescriptor socket_fd, size_t length, hidra2::IOErrors*
     std::unique_ptr<uint8_t[]> buffer;
     try {
         buffer.reset(new uint8_t[kSkipBufferSize]);
-    } catch(std::exception& e) {
-        assert(false);
-        *err = IOErrors::kUnknownError;
+    } catch(...) {
+        *err = IOErrors::kMemoryAllocationError;
         return;
     }
     size_t already_skipped = 0;
diff --git a/producer/api/CMakeLists.txt b/producer/api/CMakeLists.txt
index f5767e080e1577047d808da92542ca1124a57414..2a4af8fa6b4eafb863c9d6ada2b6bd68aec56020 100644
--- a/producer/api/CMakeLists.txt
+++ b/producer/api/CMakeLists.txt
@@ -12,6 +12,10 @@ add_library(${TARGET_NAME} STATIC ${SOURCE_FILES} $<TARGET_OBJECTS:common>)
 target_include_directories(${TARGET_NAME} PUBLIC include ${CMAKE_SOURCE_DIR}/common/cpp/include)
 set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
 
+#Add all necessary common libraries
+GET_PROPERTY(HIDRA2_COMMON_IO_LIBRARIES GLOBAL PROPERTY HIDRA2_COMMON_IO_LIBRARIES)
+target_link_libraries(${TARGET_NAME} ${HIDRA2_COMMON_IO_LIBRARIES})
+
 ################################
 # Testing
 ################################