ybainier/Hypodermic

does not build with clang and <=boost-1.53

karolherbst opened this issue · 0 comments

It is required to use hypodermic with at least boost-1.54. This should be a boost signals2 bug within boost itself.

I don't think its a major issue, but its nice to know it.

[  3%] Building CXX object Hypodermic/CMakeFiles/Hypodermic.dir/ComponentRegistration.cpp.o
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:11:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.h:15:
/home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/TypeIndexWorkaround.h:48:5: warning: 'hash' defined as a class template here but previously declared as a struct template [-Wmismatched-tags]
    class hash< type_index > : public std::unary_function< type_index, size_t >
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/bits/functional_hash.h:58:5: note: did you mean class here?
    struct hash;
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/bitset:763:33: note: did you mean class here?
      template<typename> friend struct hash;
                                ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/bits/stl_bvector.h:523:31: note: did you mean class here?
    template<typename> friend struct hash;
                              ^
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:4:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ActivatedData.h:7:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IActivatedData.h:6:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentContext.h:8:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentRegistration.h:9:
In file included from /usr/include/boost/signals2.hpp:19:
In file included from /usr/include/boost/signals2/signal.hpp:38:
In file included from /usr/include/boost/signals2/variadic_signal.hpp:21:
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: no matching function for call to 'get'
          func(std::get<indices>(args)...);
               ^~~~~~~~~~~~~~~~~
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:78:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (Hypodermic::PreparingData &)>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
      Hypodermic::PreparingData &, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>' requested here
          return m_invoke(resolver, func, indices_type(), args);
                 ^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:114:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (Hypodermic::PreparingData &)>, Hypodermic::PreparingData &,
      boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>' requested here
          return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
                 ^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:106:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData
      &>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
          return m_invoke(connectionBody,
                 ^
/usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData
      &>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
              cache->result.reset(cache->f(*iter));
                                  ^
/usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData &>,
      std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >,
      boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> >::dereference' requested here
          return f.dereference();
                   ^
/usr/include/boost/iterator/iterator_facade.hpp:639:40: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
          return iterator_core_access::dereference(this->derived());
                                       ^
/usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData &>,
      std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >,
      boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type,
      boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, long>::operator*' requested here
            *first;
            ^
/usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,
      Hypodermic::PreparingData &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >,
      boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
          combiner(first, last);
          ^
/usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>,
      boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::PreparingData &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int>
      >, boost::signals2::slot<void (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void
      (Hypodermic::PreparingData &), boost::function<void (Hypodermic::PreparingData &)> >, boost::signals2::mutex> > >' requested here
          return detail::combiner_invoker<typename combiner_type::result_type>()
                 ^
/usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl<void (Hypodermic::PreparingData &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::PreparingData &)>,
      boost::function<void (const boost::signals2::connection &, Hypodermic::PreparingData &)>, boost::signals2::mutex>::operator()' requested here
        return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
               ^
/home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:130:25: note: in instantiation of member function 'boost::signals2::signal<void (Hypodermic::PreparingData &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::PreparingData &)>,
      boost::function<void (const boost::signals2::connection &, Hypodermic::PreparingData &)>, boost::signals2::mutex>::operator()' requested here
        preparingSignal_(data);
                        ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:142:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(std::pair<_Tp1, _Tp2>& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:147:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(std::pair<_Tp1, _Tp2>&& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:152:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(const std::pair<_Tp1, _Tp2>& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:268:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(array<_Tp, _Nm>& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:277:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(array<_Tp, _Nm>&& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:285:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(const array<_Tp, _Nm>& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:757:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(tuple<_Elements...>& __t) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:764:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(const tuple<_Elements...>& __t) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:771:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(tuple<_Elements...>&& __t) noexcept
    ^
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:4:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ActivatedData.h:7:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IActivatedData.h:6:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentContext.h:8:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentRegistration.h:9:
In file included from /usr/include/boost/signals2.hpp:19:
In file included from /usr/include/boost/signals2/signal.hpp:38:
In file included from /usr/include/boost/signals2/variadic_signal.hpp:21:
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: no matching function for call to 'get'
          func(std::get<indices>(args)...);
               ^~~~~~~~~~~~~~~~~
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:78:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (Hypodermic::ActivatingData<void> &)>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
      Hypodermic::ActivatingData<void> &, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>' requested here
          return m_invoke(resolver, func, indices_type(), args);
                 ^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:114:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (Hypodermic::ActivatingData<void> &)>, Hypodermic::ActivatingData<void>
      &, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>' requested here
          return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
                 ^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:106:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void>
      &>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >'
      requested here
          return m_invoke(connectionBody,
                 ^
/usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void>
      &>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >'
      requested here
              cache->result.reset(cache->f(*iter));
                                  ^
/usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void> &>,
      std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >,
      boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> >::dereference' requested here
          return f.dereference();
                   ^
/usr/include/boost/iterator/iterator_facade.hpp:639:40: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
          return iterator_core_access::dereference(this->derived());
                                       ^
/usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void> &>,
      std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >,
      boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type,
      boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, long>::operator*' requested here
            *first;
            ^
/usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,
      Hypodermic::ActivatingData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void
      (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)>
      >, boost::signals2::mutex> > >' requested here
          combiner(first, last);
          ^
/usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>,
      boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatingData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
      boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >,
      boost::signals2::slot<void (Hypodermic::ActivatingData<void> &), boost::function<void (Hypodermic::ActivatingData<void> &)> >, boost::signals2::mutex> > >' requested here
          return detail::combiner_invoker<typename combiner_type::result_type>()
                 ^
/usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl<void (Hypodermic::ActivatingData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::ActivatingData<void> &)>,
      boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatingData<void> &)>, boost::signals2::mutex>::operator()' requested here
        return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
               ^
/home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:141:26: note: in instantiation of member function 'boost::signals2::signal<void (Hypodermic::ActivatingData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void
      (Hypodermic::ActivatingData<void> &)>, boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatingData<void> &)>, boost::signals2::mutex>::operator()' requested here
        activatingSignal_(data);
                         ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:142:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(std::pair<_Tp1, _Tp2>& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:147:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(std::pair<_Tp1, _Tp2>&& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:152:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(const std::pair<_Tp1, _Tp2>& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:268:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(array<_Tp, _Nm>& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:277:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(array<_Tp, _Nm>&& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:285:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(const array<_Tp, _Nm>& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:757:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(tuple<_Elements...>& __t) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:764:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(const tuple<_Elements...>& __t) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:771:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(tuple<_Elements...>&& __t) noexcept
    ^
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:4:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/ActivatedData.h:7:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IActivatedData.h:6:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentContext.h:8:
In file included from /home/karol/Dokumente/repos/hypodermic/Hypodermic/../Hypodermic/IComponentRegistration.h:9:
In file included from /usr/include/boost/signals2.hpp:19:
In file included from /usr/include/boost/signals2/signal.hpp:38:
In file included from /usr/include/boost/signals2/variadic_signal.hpp:21:
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: no matching function for call to 'get'
          func(std::get<indices>(args)...);
               ^~~~~~~~~~~~~~~~~
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:78:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (Hypodermic::ActivatedData<void> &)>, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
      Hypodermic::ActivatedData<void> &, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>' requested here
          return m_invoke(resolver, func, indices_type(), args);
                 ^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:114:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (Hypodermic::ActivatedData<void> &)>, Hypodermic::ActivatedData<void> &,
      boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>' requested here
          return call_with_tuple_args<result_type>()(connectionBody->slot.slot_function(), _args);
                 ^
/usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:106:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void>
      &>::m_invoke<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >'
      requested here
          return m_invoke(connectionBody,
                 ^
/usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void>
      &>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >'
      requested here
              cache->result.reset(cache->f(*iter));
                                  ^
/usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void> &>,
      std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >,
      boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> >::dereference' requested here
          return f.dereference();
                   ^
/usr/include/boost/iterator/iterator_facade.hpp:639:40: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
          return iterator_core_access::dereference(this->derived());
                                       ^
/usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void> &>,
      std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >,
      boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type,
      boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, long>::operator*' requested here
            *first;
            ^
/usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type,
      Hypodermic::ActivatedData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void
      (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >,
      boost::signals2::mutex> > >' requested here
          combiner(first, last);
          ^
/usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>,
      boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Hypodermic::ActivatedData<void> &>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group,
      boost::optional<int> >, boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >,
      boost::signals2::slot<void (Hypodermic::ActivatedData<void> &), boost::function<void (Hypodermic::ActivatedData<void> &)> >, boost::signals2::mutex> > >' requested here
          return detail::combiner_invoker<typename combiner_type::result_type>()
                 ^
/usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl<void (Hypodermic::ActivatedData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::ActivatedData<void> &)>,
      boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatedData<void> &)>, boost::signals2::mutex>::operator()' requested here
        return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS));
               ^
/home/karol/Dokumente/repos/hypodermic/Hypodermic/ComponentRegistration.cpp:153:25: note: in instantiation of member function 'boost::signals2::signal<void (Hypodermic::ActivatedData<void> &), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Hypodermic::ActivatedData<void> &)>,
      boost::function<void (const boost::signals2::connection &, Hypodermic::ActivatedData<void> &)>, boost::signals2::mutex>::operator()' requested here
        activatedSignal_(data);
                        ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:142:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(std::pair<_Tp1, _Tp2>& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:147:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(std::pair<_Tp1, _Tp2>&& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/utility:152:5: note: candidate template ignored: could not match 'pair' against 'tuple'
    get(const std::pair<_Tp1, _Tp2>& __in) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:268:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(array<_Tp, _Nm>& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:277:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(array<_Tp, _Nm>&& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/array:285:5: note: candidate template ignored: could not match 'array' against 'tuple'
    get(const array<_Tp, _Nm>& __arr) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:757:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(tuple<_Elements...>& __t) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:764:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(const tuple<_Elements...>& __t) noexcept
    ^
/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.2/include/g++-v4/tuple:771:5: note: candidate template ignored: could not match 'std::tuple' against 'boost::tuples::tuple'
    get(tuple<_Elements...>&& __t) noexcept
    ^
1 warning and 3 errors generated.
Hypodermic/CMakeFiles/Hypodermic.dir/build.make:80: recipe for target 'Hypodermic/CMakeFiles/Hypodermic.dir/ComponentRegistration.cpp.o' failed
make[2]: *** [Hypodermic/CMakeFiles/Hypodermic.dir/ComponentRegistration.cpp.o] Error 1
CMakeFiles/Makefile2:140: recipe for target 'Hypodermic/CMakeFiles/Hypodermic.dir/all' failed
make[1]: *** [Hypodermic/CMakeFiles/Hypodermic.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2