title: Undefined reference to boost::system::generic_category() although libs are given to g++
body: <p>What are the linker flags I'm missing here?</p>
  
  <p>I try to compile this on an Ubuntu 18.04 LTS and it fails, it works inside a Debian 9 docker image:</p>
  
  <pre class="lang-cpp prettyprint-override"><code>#include &lt;boost/dll.hpp&gt;
  
  // Trying to compile it with:
  // g++ -o program -lboost_filesystem -ldl -lboost_system program.cpp
  
  int main() {
    boost::dll::program_location();
    return 0;
  }
  </code></pre>
  
  <p>The error I get is:</p>
  
  <pre><code>/tmp/ccKlWUUd.o: In function `__static_initialization_and_destruction_0(int, int)':
  program.cpp:(.text+0x68): undefined reference to `boost::system::generic_category()'
  program.cpp:(.text+0x74): undefined reference to `boost::system::generic_category()'
  program.cpp:(.text+0x80): undefined reference to `boost::system::system_category()'
  /tmp/ccKlWUUd.o: In function `boost::system::error_code::error_code()':
  program.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17): undefined reference to `boost::system::system_category()'
  /tmp/ccKlWUUd.o: In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&amp;) const':
  program.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0xb8): undefined reference to `boost::system::generic_category()'
  program.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0xf3): undefined reference to `boost::system::generic_category()'
  /tmp/ccKlWUUd.o: In function `boost::system::error_category::std_category::equivalent(std::error_code const&amp;, int) const':
  program.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xb8): undefined reference to `boost::system::generic_category()'
  program.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xf3): undefined reference to `boost::system::generic_category()'
  program.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0x1d2): undefined reference to `boost::system::generic_category()'
  /tmp/ccKlWUUd.o: In function `boost::dll::detail::report_error(boost::system::error_code const&amp;, char const*)':
  program.cpp:(.text._ZN5boost3dll6detail12report_errorERKNS_6system10error_codeEPKc[_ZN5boost3dll6detail12report_errorERKNS_6system10error_codeEPKc]+0x2a): undefined reference to `dlerror'
  /tmp/ccKlWUUd.o: In function `boost::filesystem::read_symlink(boost::filesystem::path const&amp;, boost::system::error_code&amp;)':
  program.cpp:(.text._ZN5boost10filesystem12read_symlinkERKNS0_4pathERNS_6system10error_codeE[_ZN5boost10filesystem12read_symlinkERKNS0_4pathERNS_6system10error_codeE]+0x36): undefined reference to `boost::filesystem::detail::read_symlink(boost::filesystem::path const&amp;, boost::system::error_code*)'
  collect2: error: ld returned 1 exit status
  </code></pre>
  
  <p>The system here is:</p>
  
  <pre><code>gcc: 7.0.3
  boost: 1.65.1
  libc6: 2.73
  </code></pre>