Jump to content

freebsd 13.0 source compile


Recommended Posts

8 minutes ago, enisina said:

hello,

I am trying to compile source with freebsd 13.0. if I can compile successfully,  I'll share it. please support..

gcc version 4.8

 

error:NDyZYX.png

 

but you see that lthecore.a file is available;

 

r1q5BV.png

 

 

@arves100

@Vanilla

@martysama0134

image not found

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Bronze
2 hours ago, enisina said:

I am trying to compile source with freebsd 13.0. if I can compile successfully,  I'll share it. please support..

:oaeb0610d8c.png

@enisina you should check the lib's linking folders in your Makefile.

 

 

Edited by Metin2 Dev
Core X - External 2 Internal
  • Love 3
Link to comment
Share on other sites

2 hours ago, arves100 said:

Change g++48 to c++ and gcc48 to cc (You will need to use clang) or

pkg install gcc7 (if any), change g++48 to g++ and gcc48 to gcc

Change -mcpu to -march (all makefiles)

Update boost to newer version

Add -m32 to all makefiles

Don't forget to compile all libraries (libthecore,libgame,libpoly,libserverkey)

updated boost

updated gcc7

added -m32 all makefiles

compiled all libraries.

 

error:

In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]':
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/extensions.hpp:358:30: error: no matching function for call to 'hash_value(const VID&)'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/intrusive_ptr.hpp:16:0,
                 from event.h:10,
                 from stdafx.h:39,
                 from char_skill.cpp:1:
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:354:33: note: candidate: template<class T> std::size_t boost::hash_value(const boost::intrusive_ptr<T>&)
 template< class T > std::size_t hash_value( boost::intrusive_ptr<T> const & p ) BOOST_SP_NOEXCEPT
                                 ^~~~~~~~~~
/usr/local/include/boost/smart_ptr/intrusive_ptr.hpp:354:33: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const boost::intrusive_ptr<T>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/functional/hash.hpp:6:0,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/hash.hpp:358:57: note: candidate: template<class T> typename boost::hash_detail::basic_numbers<T>::type boost::hash_value(T)
     typename boost::hash_detail::basic_numbers<T>::type hash_value(T v)
                                                         ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:358:57: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::hash_detail::basic_numbers<T>::type boost::hash_value(T) [with T = VID]':
/usr/local/include/boost/container_hash/extensions.hpp:358:30:   required from 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:358:57: error: no type named 'type' in 'struct boost::hash_detail::basic_numbers<VID>'
/usr/local/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]':
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:364:56: note: candidate: template<class T> typename boost::hash_detail::long_numbers<T>::type boost::hash_value(T)
     typename boost::hash_detail::long_numbers<T>::type hash_value(T v)
                                                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:364:56: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::hash_detail::long_numbers<T>::type boost::hash_value(T) [with T = VID]':
/usr/local/include/boost/container_hash/extensions.hpp:358:30:   required from 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:364:56: error: no type named 'type' in 'struct boost::hash_detail::long_numbers<VID>'
/usr/local/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]':
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:370:57: note: candidate: template<class T> typename boost::hash_detail::ulong_numbers<T>::type boost::hash_value(T)
     typename boost::hash_detail::ulong_numbers<T>::type hash_value(T v)
                                                         ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:370:57: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::hash_detail::ulong_numbers<T>::type boost::hash_value(T) [with T = VID]':
/usr/local/include/boost/container_hash/extensions.hpp:358:30:   required from 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:370:57: error: no type named 'type' in 'struct boost::hash_detail::ulong_numbers<VID>'
/usr/local/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]':
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:377:9: note: candidate: template<class T> typename boost::enable_if<boost::is_enum<T>, unsigned int>::type boost::hash_value(T)
         hash_value(T v)
         ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:377:9: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::enable_if<boost::is_enum<T>, unsigned int>::type boost::hash_value(T) [with T = VID]':
/usr/local/include/boost/container_hash/extensions.hpp:358:30:   required from 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:377:9: error: no type named 'type' in 'struct boost::enable_if<boost::is_enum<VID>, unsigned int>'
/usr/local/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]':
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:384:36: note: candidate: template<class T> std::size_t boost::hash_value(T* const&)
     template <class T> std::size_t hash_value(T* const& v)
                                    ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:384:36: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   mismatched types 'T* const' and 'const VID'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/functional/hash.hpp:6:0,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/hash.hpp:472:24: note: candidate: template<class T, unsigned int N> std::size_t boost::hash_value(const T (&)[N])
     inline std::size_t hash_value(const T (&x)[N])
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:472:24: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   mismatched types 'const T [N]' and 'const VID'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/functional/hash.hpp:6:0,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/hash.hpp:478:24: note: candidate: template<class T, unsigned int N> std::size_t boost::hash_value(T (&)[N])
     inline std::size_t hash_value(T (&x)[N])
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:478:24: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   mismatched types 'T [N]' and 'const VID'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/functional/hash.hpp:6:0,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/hash.hpp:485:24: note: candidate: template<class Ch, class A> std::size_t boost::hash_value(const std::__cxx11::basic_string<Ch, std::char_traits<_CharT>, A>&)
     inline std::size_t hash_value(
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:485:24: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::__cxx11::basic_string<Ch, std::char_traits<_CharT>, A>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/functional/hash.hpp:6:0,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/hash.hpp:501:57: note: candidate: template<class T> typename boost::hash_detail::float_numbers<T>::type boost::hash_value(T)
     typename boost::hash_detail::float_numbers<T>::type hash_value(T v)
                                                         ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:501:57: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::hash_detail::float_numbers<T>::type boost::hash_value(T) [with T = VID]':
/usr/local/include/boost/container_hash/extensions.hpp:358:30:   required from 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:501:57: error: no type named 'type' in 'struct boost::hash_detail::float_numbers<VID>'
/usr/local/include/boost/container_hash/extensions.hpp: In instantiation of 'std::size_t boost::hash<T>::operator()(const T&) const [with T = VID; std::size_t = unsigned int]':
/usr/local/include/boost/unordered/detail/implementation.hpp:2599:20:   required from 'static SizeT boost::unordered::detail::prime_policy<SizeT>::apply_hash(const Hash&, const T&) [with Hash = boost::hash<VID>; T = VID; SizeT = unsigned int]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3569:36:   required from 'std::size_t boost::unordered::detail::table<Types>::hash(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; std::size_t = unsigned int; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/detail/implementation.hpp:3581:43:   required from 'boost::unordered::detail::table<Types>::node_pointer boost::unordered::detail::table<Types>::find_node(boost::unordered::detail::table<Types>::const_key_type&) const [with Types = boost::unordered::detail::map<std::allocator<std::pair<const VID, unsigned int> >, VID, unsigned int, boost::hash<VID>, std::equal_to<VID> >; boost::unordered::detail::table<Types>::node_pointer = boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> >*; boost::unordered::detail::table<Types>::const_key_type = const VID]'
/usr/local/include/boost/unordered/unordered_map.hpp:1804:14:   required from 'boost::unordered::unordered_map<K, T, H, P, A>::iterator boost::unordered::unordered_map<K, T, H, P, A>::find(const key_type&) [with K = VID; T = unsigned int; H = boost::hash<VID>; P = std::equal_to<VID>; A = std::allocator<std::pair<const VID, unsigned int> >; boost::unordered::unordered_map<K, T, H, P, A>::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const VID, unsigned int> > >; boost::unordered::unordered_map<K, T, H, P, A>::key_type = VID]'
char_skill.cpp:3606:103:   required from here
/usr/local/include/boost/container_hash/hash.hpp:535:24: note: candidate: std::size_t boost::hash_value(std::type_index)
     inline std::size_t hash_value(std::type_index v)
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:535:24: note:   no known conversion for argument 1 from 'const VID' to 'std::type_index'
/usr/local/include/boost/container_hash/hash.hpp:542:24: note: candidate: std::size_t boost::hash_value(const std::error_code&)
     inline std::size_t hash_value(std::error_code const& v) {
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:542:24: note:   no known conversion for argument 1 from 'const VID' to 'const std::error_code&'
/usr/local/include/boost/container_hash/hash.hpp:549:24: note: candidate: std::size_t boost::hash_value(const std::error_condition&)
     inline std::size_t hash_value(std::error_condition const& v) {
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/hash.hpp:549:24: note:   no known conversion for argument 1 from 'const VID' to 'const std::error_condition&'
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:66:17: note: candidate: template<class A, class B> std::size_t boost::hash_value(const std::pair<_T1, _T2>&)
     std::size_t hash_value(std::pair<A, B> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:66:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::pair<_T1, _T2>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:125:17: note: candidate: template<class T, class A> std::size_t boost::hash_value(const std::vector<_Tp, _Alloc>&)
     std::size_t hash_value(std::vector<T, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:125:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::vector<_Tp, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:131:17: note: candidate: template<class T, class A> std::size_t boost::hash_value(const std::__cxx11::list<_Tp, _Alloc>&)
     std::size_t hash_value(std::list<T, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:131:17: note:   template argument deduction/substitution failed:
compile desc_client.cpp
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::__cxx11::list<_Tp, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:137:17: note: candidate: template<class T, class A> std::size_t boost::hash_value(const std::deque<_Tp, _Alloc>&)
     std::size_t hash_value(std::deque<T, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:137:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::deque<_Tp, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:143:17: note: candidate: template<class K, class C, class A> std::size_t boost::hash_value(const std::set<_Key, _Compare, _Alloc>&)
     std::size_t hash_value(std::set<K, C, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:143:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:149:17: note: candidate: template<class K, class C, class A> std::size_t boost::hash_value(const std::multiset<_Key, _Compare, _Alloc>&)
     std::size_t hash_value(std::multiset<K, C, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:149:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:155:17: note: candidate: template<class K, class T, class C, class A> std::size_t boost::hash_value(const std::map<_Key, _Tp, _Compare, _Alloc>&)
     std::size_t hash_value(std::map<K, T, C, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:155:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:161:17: note: candidate: template<class K, class T, class C, class A> std::size_t boost::hash_value(const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     std::size_t hash_value(std::multimap<K, T, C, A> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:161:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:167:17: note: candidate: template<class T> std::size_t boost::hash_value(const std::complex<_Tp>&)
     std::size_t hash_value(std::complex<T> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:167:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::complex<_Tp>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:177:17: note: candidate: template<class T, unsigned int N> std::size_t boost::hash_value(const std::array<_Tp, _Nm>&)
     std::size_t hash_value(std::array<T, N> const& v)
                 ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:177:17: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::array<_Tp, _Nm>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:212:24: note: candidate: template<class ... T> std::size_t boost::hash_value(const std::tuple<_Tps ...>&)
     inline std::size_t hash_value(std::tuple<T...> const& v)
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:212:24: note:   template argument deduction/substitution failed:
In file included from /usr/local/include/boost/container_hash/hash.hpp:760:0,
                 from /usr/local/include/boost/functional/hash.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:18,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from char.h:4,
                 from char_skill.cpp:7:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::tuple<_Tps ...>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
/usr/local/include/boost/container_hash/extensions.hpp:289:24: note: candidate: template<class T> std::size_t boost::hash_value(const std::shared_ptr<_Tp>&)
     inline std::size_t hash_value(std::shared_ptr<T> const& x) {
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:289:24: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::shared_ptr<_Tp>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
/usr/local/include/boost/container_hash/extensions.hpp:294:24: note: candidate: template<class T, class Deleter> std::size_t boost::hash_value(const std::unique_ptr<_Tp, _Dp>&)
     inline std::size_t hash_value(std::unique_ptr<T, Deleter> const& x) {
                        ^~~~~~~~~~
/usr/local/include/boost/container_hash/extensions.hpp:294:24: note:   template argument deduction/substitution failed:
/usr/local/include/boost/container_hash/extensions.hpp:358:30: note:   'const VID' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
             return hash_value(val);
                    ~~~~~~~~~~^~~~~
gmake: *** [Makefile:127: OBJDIR/char_skill.o] Error 1
gmake: *** Waiting for unfinished jobs....
root@Ryumt2:/usr/src/tc/Server/game/src #

 

Link to comment
Share on other sites

On 11/7/2018 at 11:45 PM, arves100 said:

Reason: Update to Crypto++ >= 6.0

Files to change: cipher.h (server: game/src/cipher.h, client: EterBase/cipher.h)

Replace: byte* to CryptoPP::byte*

updated cryotopp 6.0  https://www.cryptopp.com/release600.html

build cryptopp and maked libcryptopp.a

@arves100

nQV7a5.png

v6dElm.png

 

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

Are you using a more recent std? Probably c++17? Because cryptopp 7.0 is meant to be used with that and it'd explain an issue I've got when upgrading this stuff.. I can't see the screenshots you posted. Could you please reupload?

We are the tortured.
We're not your friends.
As long as we're not visible.
We are unfixable.

Link to comment
Share on other sites

21 minutes ago, Vanilla said:

Daha yeni bir std kullanıyor musunuz? Muhtemelen c ++ 17? Cryptopp 7.0 bununla kullanıldığından ve bu şeyleri geliştirirken sahip olduğum bir sorunu açıklayacağından .. Gönderdiğiniz ekran görüntülerini göremiyorum. Lütfen yeniden yükleyebilir misiniz?

nQV7a5.thumb.png.38fd65f690e06c2d3277f5277275a629.pngv6dElm.thumb.png.f5af741e7d50d9752f7e32685bc515bf.png

Link to comment
Share on other sites

yep this looks like it. CryptoPP utilizes c++17 which you don't use. I've had the same issue. You need to add -std=c++17 to your compiler flags, linking should work then. But you're probably gonna end up having another issue because compiling will fail on some files due to removed functions (std::mem_fun for example).

We are the tortured.
We're not your friends.
As long as we're not visible.
We are unfixable.

Link to comment
Share on other sites

3 hours ago, arves100 said:

Add -std=c++11 to all CFLAGS in Makefiles (You need gcc5 or greated) then gmake clean and gmake

 

 

8 hours ago, Vanilla said:

yep this looks like it. CryptoPP utilizes c++17 which you don't use. I've had the same issue. You need to add -std=c++17 to your compiler flags, linking should work then. But you're probably gonna end up having another issue because compiling will fail on some files due to removed functions (std::mem_fun for example).

 

No problems with the gcc5 compiler. but gcc7-8-9 gives similar errors (I used c ++ 17, c ++ 2a). I removed it from the cryptopp source files, and successfully compiled it. I wonder if I remove the cryptopp source files, I'm having problems?

Link to comment
Share on other sites

vor einer Stunde schrieb enisina:

 

 

 

No problems with the gcc5 compiler. but gcc7-8-9 gives similar errors (I used c ++ 17, c ++ 2a). I removed it from the cryptopp source files, and successfully compiled it. I wonder if I remove the cryptopp source files, I'm having problems?

You can safely remove the source files but you need to keep the header files inside the include folder. Otherwise your source won't compile. And, obviously, you need the built libraries.

We are the tortured.
We're not your friends.
As long as we're not visible.
We are unfixable.

Link to comment
Share on other sites

18 hours ago, Vanilla said:

You can safely remove the source files but you need to keep the header files inside the include folder. Otherwise your source won't compile. And, obviously, you need the built libraries.

thank you for your interest. removed cryptopp.

but now I'm getting an error when compiling db.

error;

https://paste2.org/hwmIw3mO

compiled all lib

 

@arves100

  • Sad 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.