title: Boost logger linking issue
body: <p>I am writing a program which uses Boost libraries. I had no problems with linking and using program options but I can't seem to make boost log working correctly. 
  Could anyone tell me what am I missing? </p>
  
  <p>jamroot.jam</p>
  
  <pre><code>using clang : : : &lt;compileflags&gt;-Isrc/main/headers &lt;compileflags&gt;-std=c++11 &lt;compileflags&gt;-stdlib=libc++ &lt;linkflags&gt;-std=c++11 &lt;linkflags&gt;-stdlib=libc++ ;
  lib boost_program_options boost_log ;
  exe foghorn : [ glob src/main/cpp/*.cpp ] boost_program_options boost_log ;
  </code></pre>
  
  <p>This is the error I am getting:</p>
  
  <pre><code>  "boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)", referenced from:
        boost::log::v2s_mt_posix::record::reset() in main.o
    "boost::log::v2s_mt_posix::attribute_set::insert(boost::log::v2s_mt_posix::attribute_name, boost::log::v2s_mt_posix::attribute const&amp;)", referenced from:
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::add_attribute_unlocked(boost::log::v2s_mt_posix::attribute_name const&amp;, boost::log::v2s_mt_posix::attribute const&amp;) in main.o
        boost::log::v2s_mt_posix::aux::attribute_set_reference_proxy::operator=(boost::log::v2s_mt_posix::attribute const&amp;) const in main.o
    "boost::log::v2s_mt_posix::attribute_set::attribute_set(boost::log::v2s_mt_posix::attribute_set const&amp;)", referenced from:
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::basic_logger(boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt; const&amp;) in main.o
    "boost::log::v2s_mt_posix::attribute_set::attribute_set()", referenced from:
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::basic_logger() in main.o
    "boost::log::v2s_mt_posix::attribute_set::~attribute_set()", referenced from:
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::~basic_logger() in main.o
    "boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)", referenced from:
        boost::log::v2s_mt_posix::attribute_name::attribute_name(char const*) in main.o
    "void boost::log::v2s_mt_posix::init_from_stream&lt;char&gt;(std::__1::basic_istream&lt;char, std::__1::char_traits&lt;char&gt; &gt;&amp;)", referenced from:
        __ZL13gvLoggingInitPKc in main.o
    "boost::log::v2s_mt_posix::aux::this_thread::get_id()", referenced from:
        boost::log::v2s_mt_posix::attributes::current_thread_id::impl::dispatch(boost::log::v2s_mt_posix::type_dispatcher&amp;) in main.o
        boost::log::v2s_mt_posix::attributes::current_thread_id::impl::detach_from_thread() in main.o
    "boost::log::v2s_mt_posix::aux::this_process::get_id()", referenced from:
        boost::log::v2s_mt_posix::attributes::current_process_id::current_process_id() in main.o
    "boost::log::v2s_mt_posix::aux::stream_provider&lt;char&gt;::release_compound(boost::log::v2s_mt_posix::aux::stream_provider&lt;char&gt;::stream_compound*)", referenced from:
        boost::log::v2s_mt_posix::aux::record_pump&lt;boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt; &gt;::auto_release::~auto_release() in main.o
    "boost::log::v2s_mt_posix::aux::stream_provider&lt;char&gt;::allocate_compound(boost::log::v2s_mt_posix::record&amp;)", referenced from:
        boost::log::v2s_mt_posix::aux::record_pump&lt;boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt; &gt;::record_pump(boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;&amp;, boost::log::v2s_mt_posix::record&amp;) in main.o
    "boost::log::v2s_mt_posix::aux::get_process_name()", referenced from:
        boost::log::v2s_mt_posix::attributes::current_process_name::current_process_name() in main.o
    "boost::log::v2s_mt_posix::aux::once_block_sentry::commit()", referenced from:
        boost::log::v2s_mt_posix::aux::lazy_singleton&lt;boost::log::v2s_mt_posix::sources::aux::logger_singleton&lt;SLogger&gt;, boost::shared_ptr&lt;boost::log::v2s_mt_posix::sources::aux::logger_holder&lt;boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt; &gt; &gt; &gt;::get() in main.o
    "boost::log::v2s_mt_posix::aux::once_block_sentry::rollback()", referenced from:
        boost::log::v2s_mt_posix::aux::once_block_sentry::~once_block_sentry() in main.o
    "boost::log::v2s_mt_posix::aux::default_attribute_names::severity()", referenced from:
        boost::log::v2s_mt_posix::sources::basic_severity_logger&lt;boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;, ESeverityLevel&gt;::basic_severity_logger() in main.o
        boost::log::v2s_mt_posix::sources::basic_severity_logger&lt;boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;, ESeverityLevel&gt;::basic_severity_logger(boost::log::v2s_mt_posix::sources::basic_severity_logger&lt;boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;, ESeverityLevel&gt; const&amp;) in main.o
    "boost::log::v2s_mt_posix::aux::unhandled_exception_count()", referenced from:
        boost::log::v2s_mt_posix::aux::record_pump&lt;boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt; &gt;::~record_pump() in main.o
        boost::log::v2s_mt_posix::aux::record_pump&lt;boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt; &gt;::record_pump(boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;&amp;, boost::log::v2s_mt_posix::record&amp;) in main.o
    "boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&amp;, boost::log::v2s_mt_posix::attribute_name const&amp;)", referenced from:
        boost::log::v2s_mt_posix::value_extractor&lt;ESeverityLevel, boost::log::v2s_mt_posix::fallback_to_none, tag::severity&gt;::operator()(boost::log::v2s_mt_posix::attribute_name const&amp;, boost::log::v2s_mt_posix::attribute_value_set const&amp;) const in main.o
    "boost::log::v2s_mt_posix::core::set_filter(boost::log::v2s_mt_posix::filter const&amp;)", referenced from:
        __ZL13gvLoggingInitPKc in main.o
    "boost::log::v2s_mt_posix::core::open_record(boost::log::v2s_mt_posix::attribute_set const&amp;)", referenced from:
        boost::log::v2s_mt_posix::record boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::open_record_unlocked&lt;boost::parameter::aux::tagged_argument&lt;boost::log::v2s_mt_posix::keywords::tag::severity, ESeverityLevel const&gt; &gt;(boost::parameter::aux::tagged_argument&lt;boost::log::v2s_mt_posix::keywords::tag::severity, ESeverityLevel const&gt; const&amp;) in main.o
    "boost::log::v2s_mt_posix::core::push_record_move(boost::log::v2s_mt_posix::record&amp;)", referenced from:
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::push_record_unlocked(boost::log::v2s_mt_posix::record&amp;&amp;) in main.o
    "boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&amp;, boost::log::v2s_mt_posix::attribute const&amp;)", referenced from:
        __ZL13gvLoggingInitPKc in main.o
    "boost::log::v2s_mt_posix::core::get()", referenced from:
        __ZL13gvLoggingInitPKc in main.o
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::basic_logger() in main.o
        boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt;::basic_logger(boost::log::v2s_mt_posix::sources::basic_logger&lt;char, boost::log::v2s_mt_posix::sources::severity_logger&lt;ESeverityLevel&gt;, boost::log::v2s_mt_posix::sources::single_thread_model&gt; const&amp;) in main.o
    "boost::log::v2s_mt_posix::sources::aux::global_storage::get_or_init(std::type_info const&amp;, boost::shared_ptr&lt;boost::log::v2s_mt_posix::sources::aux::logger_holder_base&gt; (*)())", referenced from:
        boost::log::v2s_mt_posix::sources::aux::logger_singleton&lt;SLogger&gt;::init_instance() in main.o
    "boost::log::v2s_mt_posix::sources::aux::get_severity_level()", referenced from:
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::set_value(ESeverityLevel) in main.o
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::impl::dispatch(boost::log::v2s_mt_posix::type_dispatcher&amp;) in main.o
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::impl::detach_from_thread() in main.o
    "boost::log::v2s_mt_posix::sources::aux::throw_odr_violation(std::type_info const&amp;, std::type_info const&amp;, boost::log::v2s_mt_posix::sources::aux::logger_holder_base const&amp;)", referenced from:
        boost::log::v2s_mt_posix::sources::aux::logger_singleton&lt;SLogger&gt;::init_instance() in main.o
    "boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)", referenced from:
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::severity_level() in main.o
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::impl::~impl() in main.o
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::impl::detach_from_thread() in main.o
        boost::log::v2s_mt_posix::attributes::attribute_value_impl&lt;ESeverityLevel&gt;::~attribute_value_impl() in main.o
        boost::log::v2s_mt_posix::attribute_value::impl::~impl() in main.o
        boost::log::v2s_mt_posix::attribute::impl::~impl() in main.o
        boost::log::v2s_mt_posix::attributes::current_thread_id::current_thread_id() in main.o
        ...
    "boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)", referenced from:
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::severity_level() in main.o
        boost::log::v2s_mt_posix::sources::aux::severity_level&lt;ESeverityLevel&gt;::impl::detach_from_thread() in main.o
        boost::log::v2s_mt_posix::attributes::current_thread_id::current_thread_id() in main.o
        boost::log::v2s_mt_posix::attributes::current_thread_id::impl::detach_from_thread() in main.o
        boost::log::v2s_mt_posix::attributes::constant&lt;boost::log::v2s_mt_posix::aux::id&lt;boost::log::v2s_mt_posix::aux::process&gt; &gt;::constant(boost::log::v2s_mt_posix::aux::id&lt;boost::log::v2s_mt_posix::aux::process&gt;&amp;&amp;) in main.o
        boost::log::v2s_mt_posix::attributes::constant&lt;std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; &gt;::constant(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;&amp;&amp;) in main.o
        boost::log::v2s_mt_posix::attributes::basic_clock&lt;boost::log::v2s_mt_posix::attributes::local_time_traits&gt;::basic_clock() in main.o
        ...
    "boost::system::system_category()", referenced from:
        ___cxx_global_var_init2 in main.o
    "boost::system::generic_category()", referenced from:
        ___cxx_global_var_init in main.o
        ___cxx_global_var_init1 in main.o
    "boost::log::v2s_mt_posix::attribute_value_set::end() const", referenced from:
        boost::log::v2s_mt_posix::value_extractor&lt;ESeverityLevel, boost::log::v2s_mt_posix::fallback_to_none, tag::severity&gt;::operator()(boost::log::v2s_mt_posix::attribute_name const&amp;, boost::log::v2s_mt_posix::attribute_value_set const&amp;) const in main.o
    "boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const", referenced from:
        boost::log::v2s_mt_posix::value_extractor&lt;ESeverityLevel, boost::log::v2s_mt_posix::fallback_to_none, tag::severity&gt;::operator()(boost::log::v2s_mt_posix::attribute_name const&amp;, boost::log::v2s_mt_posix::attribute_value_set const&amp;) const in main.o
    "boost::log::v2s_mt_posix::aux::once_block_sentry::enter_once_block() const", referenced from:
        boost::log::v2s_mt_posix::aux::once_block_sentry::executed() const in main.o
    "boost::log::v2s_mt_posix::core::get_logging_enabled() const", referenced from:
        __ZN5boost3log12v2s_mt_posix7sources22basic_composite_loggerIcNS2_15severity_loggerI14ESeverityLevelEENS2_19single_thread_modelENS2_8featuresIJNS2_8severityIS5_EEEEEE11open_recordINS_9parameter3aux15tagged_argumentINS1_8keywords3tag8severityEKS5_EEEENS1_6recordERKT_ in main.o
  ld: symbol(s) not found for architecture x86_64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  
      "clang++"   -o "bin/clang-darwin-4.2.1/debug/foghorn" "bin/clang-darwin-4.2.1/debug/src/main/cpp/complement.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/degenerate.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/fastq.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/fastq_reader.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/interleave.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/interval_reader.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/interval_reader_test_tool.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/main.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/oligo_designer.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/reference_reader.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/reference_reader_test_tool.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/sequence_utils.o" "bin/clang-darwin-4.2.1/debug/src/main/cpp/tool.o"  -lboost_log -lboost_program_options  -g -std=c++11 -stdlib=libc++
  
  ...failed clang-darwin.link bin/clang-darwin-4.2.1/debug/foghorn...
  ...failed updating 1 target...
  ...updated 13 targets...
  </code></pre>