build: require gcc >= 5.3 and boost >= 1.58

This effectively drops support for all versions of Ubuntu older than 16.04

Change-Id: If1c96cc697d38a94588f126a89d13ec8e582702d
Refs: #4462
diff --git a/daemon/face/pcap-helper.cpp b/daemon/face/pcap-helper.cpp
index b1e57eb..072f75e 100644
--- a/daemon/face/pcap-helper.cpp
+++ b/daemon/face/pcap-helper.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2017,  Regents of the University of California,
+/*
+ * Copyright (c) 2014-2018,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -43,14 +43,12 @@
   if (!m_pcap)
     BOOST_THROW_EXCEPTION(Error("pcap_create: " + std::string(errbuf)));
 
-#ifdef HAVE_PCAP_SET_IMMEDIATE_MODE
   // Enable "immediate mode", effectively disabling any read buffering in the kernel.
   // This corresponds to the BIOCIMMEDIATE ioctl on BSD-like systems (including macOS)
   // where libpcap uses a BPF device. On Linux this forces libpcap not to use TPACKET_V3,
   // even if the kernel supports it, thus preventing bug #1511.
   if (pcap_set_immediate_mode(m_pcap, 1) < 0)
     BOOST_THROW_EXCEPTION(Error("pcap_set_immediate_mode failed"));
-#endif
 }
 
 PcapHelper::~PcapHelper()
diff --git a/daemon/face/tcp-channel.cpp b/daemon/face/tcp-channel.cpp
index 968c6a7..1e6b410 100644
--- a/daemon/face/tcp-channel.cpp
+++ b/daemon/face/tcp-channel.cpp
@@ -191,15 +191,7 @@
 {
   scheduler::cancel(connectTimeoutEvent);
 
-#if (BOOST_VERSION == 105400)
-  // To handle regression in Boost 1.54
-  // https://svn.boost.org/trac/boost/ticket/8795
-  boost::system::error_code anotherErrorCode;
-  socket->remote_endpoint(anotherErrorCode);
-  if (error || anotherErrorCode) {
-#else
   if (error) {
-#endif
     if (error != boost::asio::error::operation_aborted) {
       NFD_LOG_CHAN_DEBUG("Connection to " << remoteEndpoint << " failed: " << error.message());
       if (onConnectFailed)
diff --git a/daemon/main.cpp b/daemon/main.cpp
index 0de725e..4cff13b 100644
--- a/daemon/main.cpp
+++ b/daemon/main.cpp
@@ -40,7 +40,7 @@
 #include <boost/program_options/parsers.hpp>
 #include <boost/program_options/variables_map.hpp>
 // boost::thread is used instead of std::thread to guarantee proper cleanup of thread local storage,
-// see http://www.boost.org/doc/libs/1_54_0/doc/html/thread/thread_local_storage.html
+// see https://www.boost.org/doc/libs/1_58_0/doc/html/thread/thread_local_storage.html
 #include <boost/thread.hpp>
 #include <boost/version.hpp>