diff --git a/applications/groupview/src/main.cpp b/applications/groupview/src/main.cpp
index bdadb9abcfffe6dd969d55ee1795ec7ec04d36e8..ed163daa525609ba131ff916e50b63ce92c6fcdf 100644
--- a/applications/groupview/src/main.cpp
+++ b/applications/groupview/src/main.cpp
@@ -232,6 +232,7 @@ void modeVideo(ftl::Configurable *root) {
 	vector<cv::Mat> rgb(sources.size());
 	vector<cv::Mat> depth(sources.size());
 
+#ifdef HAVE_LIBARCHIVE
 	char timestamp[18];
 	std::time_t t=std::time(NULL);
 	std::strftime(timestamp, sizeof(timestamp), "%F-%H%M%S", std::localtime(&t));
@@ -240,6 +241,7 @@ void modeVideo(ftl::Configurable *root) {
 	for (size_t i = 0; i < sources.size(); i++) {
 		writer.addSource(sources[i]->getURI(), sources[i]->parameters(), sources[i]->getPose());
 	}
+#endif // HAVE_LIBARCHIVE
 
 	bool save = false;
 
@@ -250,11 +252,13 @@ void modeVideo(ftl::Configurable *root) {
 			while(rgb[i].empty() || depth[i].empty());
 		}
 
+#ifdef HAVE_LIBARCHIVE
 		if (save) {
 			for (size_t i = 0; i < sources.size(); i++) {
 				writer.addRGBD(i, rgb[i], depth[i]);
 			}
 		}
+#endif // HAVE_LIBARCHIVE
 
 		stack(rgb, show);
 		cv::namedWindow("Cameras", cv::WINDOW_KEEPRATIO | cv::WINDOW_NORMAL);