diff --git a/applications/groupview/src/main.cpp b/applications/groupview/src/main.cpp
index 590a1e92991b6111bd8b932ad2184b120c0d77e0..dab034c30d97183abdb09a838724d0651694535b 100644
--- a/applications/groupview/src/main.cpp
+++ b/applications/groupview/src/main.cpp
@@ -3,7 +3,10 @@
 #include <ftl/net/universe.hpp>
 #include <ftl/rgbd/source.hpp>
 #include <ftl/rgbd/group.hpp>
+
+#ifdef HAVE_LIBARCHIVE
 #include <ftl/rgbd/snapshot.hpp>
+#endif
 
 using Eigen::Matrix4d;
 using std::map;
@@ -68,6 +71,7 @@ int main(int argc, char **argv) {
 		if (grab) {
 			grab = false;
 
+#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));
@@ -78,6 +82,7 @@ int main(int argc, char **argv) {
 				LOG(INFO) << "SAVE: " << fs.channel1[i].cols << ", " << fs.channel2[i].type();
 				writer.addCameraRGBD(std::string("camera")+std::to_string(i), fs.channel1[i], fs.channel2[i]);
 			}
+#endif  // HAVE_LIBARCHIVE
 		}
 		return true;
 	});