Giter Club home page Giter Club logo

sbm-bp's Introduction

sbm-bp Build Status

sbm-bp implements the belief propagation algorithm for the inference of the (degree-corrected) stochastic block model. This program is largely an object-oriented re-implemetation of the "MODE-NET" code by Aurelien Decelle, Florent Krzakala and Pan Zhang.

This program is tested with a few benchmark networks, including synthetic networks and the karate club network. It generates nearly identical outputs as the original ones. For completeness, the original code is also included in this repository, under src/old.

Documentation will be updated soon.

Table of content

  1. Usage
  2. Compilation
  3. Companion articles

Usage

Compilation

This code requires compilers that support C++14 features. It also depends on boost::program_options and cmake.

Compilation:

cmake .
make

The binaries are built in bin/.

Usage

Inference

bin/bp -l dataset/N_1000-Q_2-method_cab_ec-eps_0.1-c_3.0.edgelist -n 500 500 --pa 0.5 0.5 --cab 3.63 2.36 3.63 -t 1000 -i 0 --deg_corr_flag 0 -m infer

Learning

bin/bp -l dataset/N_1000-Q_2-method_cab_ec-eps_0.1-c_3.0.edgelist -n 500 500 --pa 0.5 0.5 --cab 3.63 2.36 3.63 -t 1000 -i 0 --deg_corr_flag 0 -m learn

References

Please find the references from the original project page.

sbm-bp's People

Contributors

junipertcy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sbm-bp's Issues

Make failed due to multiple errors

I downloaded the boost library and put it under the root folder of this project. However, when I run make, I am getting multiple errors:

make
make[1]: Entering directory '/home/jovyan/sbm-bp'
make[2]: Entering directory '/home/jovyan/sbm-bp'
make[2]: Leaving directory '/home/jovyan/sbm-bp'
make[2]: Entering directory '/home/jovyan/sbm-bp'
[ 16%] Building CXX object src/CMakeFiles/bp.dir/main.cpp.o
In file included from /home/jovyan/sbm-bp/boost/bind/mem_fn.hpp:25:0,
                 from /home/jovyan/sbm-bp/boost/mem_fn.hpp:22,
                 from /home/jovyan/sbm-bp/boost/function/detail/prologue.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function_template.hpp:13,
                 from /home/jovyan/sbm-bp/boost/function/detail/maybe_include.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function1.hpp:11,
                 from /home/jovyan/sbm-bp/boost/program_options/value_semantic.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/get_pointer.hpp:25:40: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
 template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                        ^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /home/jovyan/sbm-bp/boost/function/function_base.hpp:16,
                 from /home/jovyan/sbm-bp/boost/function/detail/prologue.hpp:17,
                 from /home/jovyan/sbm-bp/boost/function/function_template.hpp:13,
                 from /home/jovyan/sbm-bp/boost/function/detail/maybe_include.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function1.hpp:11,
                 from /home/jovyan/sbm-bp/boost/program_options/value_semantic.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/jovyan/sbm-bp/boost/smart_ptr/shared_ptr.hpp:32:0,
                 from /home/jovyan/sbm-bp/boost/shared_ptr.hpp:17,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:16,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/smart_ptr/detail/shared_count.hpp:196:33: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
     explicit shared_count( std::auto_ptr<Y> & r ): pi_( new sp_counted_impl_p<Y>( r.get() ) )
                                 ^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /home/jovyan/sbm-bp/boost/function/function_base.hpp:16,
                 from /home/jovyan/sbm-bp/boost/function/detail/prologue.hpp:17,
                 from /home/jovyan/sbm-bp/boost/function/function_template.hpp:13,
                 from /home/jovyan/sbm-bp/boost/function/detail/maybe_include.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function1.hpp:11,
                 from /home/jovyan/sbm-bp/boost/program_options/value_semantic.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/jovyan/sbm-bp/boost/shared_ptr.hpp:17:0,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:16,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/smart_ptr/shared_ptr.hpp:150:65: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
 template< class T, class R > struct sp_enable_if_auto_ptr< std::auto_ptr< T >, R >
                                                                 ^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /home/jovyan/sbm-bp/boost/function/function_base.hpp:16,
                 from /home/jovyan/sbm-bp/boost/function/detail/prologue.hpp:17,
                 from /home/jovyan/sbm-bp/boost/function/function_template.hpp:13,
                 from /home/jovyan/sbm-bp/boost/function/detail/maybe_include.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function1.hpp:11,
                 from /home/jovyan/sbm-bp/boost/program_options/value_semantic.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/jovyan/sbm-bp/boost/shared_ptr.hpp:17:0,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:16,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/smart_ptr/shared_ptr.hpp:279:30: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
     explicit shared_ptr(std::auto_ptr<Y> & r): px(r.get()), pn()
                              ^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /home/jovyan/sbm-bp/boost/function/function_base.hpp:16,
                 from /home/jovyan/sbm-bp/boost/function/detail/prologue.hpp:17,
                 from /home/jovyan/sbm-bp/boost/function/function_template.hpp:13,
                 from /home/jovyan/sbm-bp/boost/function/detail/maybe_include.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function1.hpp:11,
                 from /home/jovyan/sbm-bp/boost/program_options/value_semantic.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
In file included from /home/jovyan/sbm-bp/boost/shared_ptr.hpp:17:0,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:16,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/smart_ptr/shared_ptr.hpp:323:34: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
     shared_ptr & operator=( std::auto_ptr<Y> & r )
                                  ^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /home/jovyan/sbm-bp/boost/function/function_base.hpp:16,
                 from /home/jovyan/sbm-bp/boost/function/detail/prologue.hpp:17,
                 from /home/jovyan/sbm-bp/boost/function/function_template.hpp:13,
                 from /home/jovyan/sbm-bp/boost/function/detail/maybe_include.hpp:18,
                 from /home/jovyan/sbm-bp/boost/function/function1.hpp:11,
                 from /home/jovyan/sbm-bp/boost/program_options/value_semantic.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options/options_description.hpp:13,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:15,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
/home/jovyan/sbm-bp/src/main.cpp: In function ‘int main(int, const char**)’:
/home/jovyan/sbm-bp/src/main.cpp:150:71: error: no matching function for call to ‘store(boost::program_options::basic_parsed_options<const char>, boost::program_options::variables_map&)’
     po::store(po::parse_command_line(argc, argv, description), var_map);
                                                                       ^
In file included from /home/jovyan/sbm-bp/boost/program_options.hpp:18:0,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/program_options/variables_map.hpp:161:14: note: candidate: void boost::program_options::store(const boost::program_options::basic_parsed_options<char>&, boost::program_options::variables_map&, bool)
         void store(const basic_parsed_options<char>& options,
              ^~~~~
/home/jovyan/sbm-bp/boost/program_options/variables_map.hpp:161:14: note:   no known conversion for argument 1 from ‘boost::program_options::basic_parsed_options<const char>’ to ‘const boost::program_options::basic_parsed_options<char>&
/home/jovyan/sbm-bp/boost/program_options/variables_map.hpp:43:10: note: candidate: void boost::program_options::store(const boost::program_options::basic_parsed_options<wchar_t>&, boost::program_options::variables_map&)
     void store(const basic_parsed_options<wchar_t>& options,
          ^~~~~
/home/jovyan/sbm-bp/boost/program_options/variables_map.hpp:43:10: note:   no known conversion for argument 1 from ‘boost::program_options::basic_parsed_options<const char>’ to ‘const boost::program_options::basic_parsed_options<wchar_t>&
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from /home/jovyan/sbm-bp/src/main.cpp:14:
/usr/include/c++/7/ext/new_allocator.h: In instantiation of ‘class __gnu_cxx::new_allocator<const char>’:
/usr/include/c++/7/bits/allocator.h:108:11:   required from ‘class std::allocator<const char>
/usr/include/c++/7/bits/basic_string.h:139:14:   required from ‘struct std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >::_Alloc_hider’
/usr/include/c++/7/bits/basic_string.h:155:20:   required from ‘class std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:43:20:   required from ‘boost::program_options::basic_command_line_parser<charT>::basic_command_line_parser(int, charT**) [with charT = const char]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:120:16:   required from ‘boost::program_options::basic_parsed_options<charT> boost::program_options::parse_command_line(int, charT**, const boost::program_options::options_description&, int, boost::function1<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, const std::__cxx11::basic_string<char>&>) [with charT = const char]’
/home/jovyan/sbm-bp/src/main.cpp:150:61:   required from here
/usr/include/c++/7/ext/new_allocator.h:93:7: error: ‘const _Tp* __gnu_cxx::new_allocator<_Tp>::address(__gnu_cxx::new_allocator<_Tp>::const_reference) const [with _Tp = const char; __gnu_cxx::new_allocator<_Tp>::const_pointer = const char*; __gnu_cxx::new_allocator<_Tp>::const_reference = const char&]’ cannot be overloaded
       address(const_reference __x) const _GLIBCXX_NOEXCEPT
       ^~~~~~~
/usr/include/c++/7/ext/new_allocator.h:89:7: error: with ‘_Tp* __gnu_cxx::new_allocator<_Tp>::address(__gnu_cxx::new_allocator<_Tp>::reference) const [with _Tp = const char; __gnu_cxx::new_allocator<_Tp>::pointer = const char*; __gnu_cxx::new_allocator<_Tp>::reference = const char&]’
       address(reference __x) const _GLIBCXX_NOEXCEPT
       ^~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from /home/jovyan/sbm-bp/src/main.cpp:14:
/usr/include/c++/7/bits/basic_string.h: In instantiation of ‘class std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >’:
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:43:20:   required from ‘boost::program_options::basic_command_line_parser<charT>::basic_command_line_parser(int, charT**) [with charT = const char]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:120:16:   required from ‘boost::program_options::basic_parsed_options<charT> boost::program_options::parse_command_line(int, charT**, const boost::program_options::options_description&, int, boost::function1<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, const std::__cxx11::basic_string<char>&>) [with charT = const char]’
/home/jovyan/sbm-bp/src/main.cpp:150:61:   required from here
/usr/include/c++/7/bits/basic_string.h:376:7: error: ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy_chars(_CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::__cxx11::basic_string<_CharT,_Traits, _Alloc>::const_iterator) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’ cannot be overloaded
       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
       ^~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:372:7: error: with ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy_chars(_CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = const char*]’
       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) _GLIBCXX_NOEXCEPT
       ^~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:385:7: error: ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy_chars(_CharT*, const _CharT*, const _CharT*) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc= std::allocator<const char>]’ cannot be overloaded
       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
       ^~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:381:7: error: with ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy_chars(_CharT*, _CharT*, _CharT*) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) _GLIBCXX_NOEXCEPT
       ^~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:2115:7: error: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, const _CharT*, const _CharT*) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’ cannot be overloaded
       replace(__const_iterator __i1, __const_iterator __i2,
       ^~~~~~~
/usr/include/c++/7/bits/basic_string.h:2104:7: error: with ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT*, _CharT*) [with _CharT = const char; _Traits= std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]’
       replace(__const_iterator __i1, __const_iterator __i2,
       ^~~~~~~
/usr/include/c++/7/bits/basic_string.h:2137:7: error: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >]’ cannot be overloaded
       replace(__const_iterator __i1, __const_iterator __i2,
       ^~~~~~~
/usr/include/c++/7/bits/basic_string.h:2126:7: error: with ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = const char*]’
       replace(__const_iterator __i1, __const_iterator __i2,
       ^~~~~~~
In file included from /home/jovyan/sbm-bp/boost/program_options/parsers.hpp:227:0,
                 from /home/jovyan/sbm-bp/boost/program_options.hpp:17,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp: In instantiation of ‘boost::program_options::basic_parsed_options<charT> boost::program_options::basic_command_line_parser<charT>::run() [with charT = const char]’:
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:121:48:   required from ‘boost::program_options::basic_parsed_options<charT> boost::program_options::parse_command_line(int, charT**, const boost::program_options::options_description&, int, boost::function1<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, const std::__cxx11::basic_string<char>&>) [with charT = const char]’
/home/jovyan/sbm-bp/src/main.cpp:150:61:   required from here
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:108:16: error: no matching function for call to ‘boost::program_options::basic_parsed_options<const char>::basic_parsed_options(boost::program_options::parsed_options&)’
         return basic_parsed_options<charT>(result);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/jovyan/sbm-bp/boost/program_options.hpp:17:0,
                 from /home/jovyan/sbm-bp/src/main.cpp:20:
/home/jovyan/sbm-bp/boost/program_options/parsers.hpp:34:18: note: candidate: boost::program_options::basic_parsed_options<charT>::basic_parsed_options(const boost::program_options::options_description*) [with charT = const char]
         explicit basic_parsed_options(const options_description* description)
                  ^~~~~~~~~~~~~~~~~~~~
/home/jovyan/sbm-bp/boost/program_options/parsers.hpp:34:18: note:   no known conversion for argument 1 from ‘boost::program_options::parsed_options {aka boost::program_options::basic_parsed_options<char>}’ to ‘const boost::program_options::options_description*
/home/jovyan/sbm-bp/boost/program_options/parsers.hpp:32:11: note: candidate: boost::program_options::basic_parsed_options<const char>::basic_parsed_options(const boost::program_options::basic_parsed_options<const char>&)
     class basic_parsed_options {
           ^~~~~~~~~~~~~~~~~~~~
/home/jovyan/sbm-bp/boost/program_options/parsers.hpp:32:11: note:   no known conversion for argument 1 from ‘boost::program_options::parsed_options {aka boost::program_options::basic_parsed_options<char>}’ to ‘const boost::program_options::basic_parsed_options<const char>&
/home/jovyan/sbm-bp/boost/program_options/parsers.hpp:32:11: note: candidate: boost::program_options::basic_parsed_options<const char>::basic_parsed_options(boost::program_options::basic_parsed_options<const char>&&)
/home/jovyan/sbm-bp/boost/program_options/parsers.hpp:32:11: note:   no known conversion for argument 1 from ‘boost::program_options::parsed_options {aka boost::program_options::basic_parsed_options<char>}’ to ‘boost::program_options::basic_parsed_options<const char>&&
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from /home/jovyan/sbm-bp/src/main.cpp:14:
/usr/include/c++/7/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::deallocate(__gnu_cxx::new_allocator<_Tp>::pointer, __gnu_cxx::new_allocator<_Tp>::size_type) [with _Tp = const char; __gnu_cxx::new_allocator<_Tp>::pointer = const char*; __gnu_cxx::new_allocator<_Tp>::size_type = long unsigned int]’:
/usr/include/c++/7/bits/alloc_traits.h:462:9:   required from ‘static void std::allocator_traits<std::allocator<_CharT> >::deallocate(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, std::allocator_traits<std::allocator<_CharT> >::pointer, std::allocator_traits<std::allocator<_CharT> >::size_type) [with _Tp = const char; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<const char>; std::allocator_traits<std::allocator<_CharT> >::pointer = const char*; std::allocator_traits<std::allocator<_CharT> >::size_type = long unsigned int]’
/usr/include/c++/7/bits/basic_string.h:226:34:   required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_destroy(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/7/bits/basic_string.h:221:14:   required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/usr/include/c++/7/bits/basic_string.h:647:19:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:24:17:   required from ‘std::vector<std::__cxx11::basic_string<_CharT> > boost::program_options::detail::make_vector(Iterator, Iterator) [with charT = const char; Iterator = const char**]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:43:56:   required from ‘boost::program_options::basic_command_line_parser<charT>::basic_command_line_parser(int, charT**) [with charT = const char]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:120:16:   required from ‘boost::program_options::basic_parsed_options<charT> boost::program_options::parse_command_line(int, charT**, const boost::program_options::options_description&, int, boost::function1<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, const std::__cxx11::basic_string<char>&>) [with charT = const char]’
/home/jovyan/sbm-bp/src/main.cpp:150:61:   required from here
/usr/include/c++/7/ext/new_allocator.h:125:19: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
  ::operator delete(__p);
  ~~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0,
                 from /usr/include/c++/7/exception:142,
                 from /usr/include/c++/7/ios:39,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from /home/jovyan/sbm-bp/src/main.cpp:14:
/usr/include/c++/7/new:124:6: note:   initializing argument 1 of ‘void operator delete(void*)’
 void operator delete(void*) _GLIBCXX_USE_NOEXCEPT
      ^~~~~~~~
In file included from /usr/include/c++/7/ios:40:0,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from /home/jovyan/sbm-bp/src/main.cpp:14:
/usr/include/c++/7/bits/char_traits.h: In instantiation of ‘static constexpr void __gnu_cxx::char_traits<_CharT>::assign(__gnu_cxx::char_traits<_CharT>::char_type&, const char_type&) [with _CharT = const char; __gnu_cxx::char_traits<_CharT>::char_type = const char]’:
/usr/include/c++/7/bits/basic_string.h:338:23:   required from ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) [with _CharT = constchar; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]’
/usr/include/c++/7/bits/basic_string.h:382:16:   required from ‘static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy_chars(_CharT*, _CharT*, _CharT*) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc =std::allocator<const char>]’
/usr/include/c++/7/bits/basic_string.tcc:225:6:   required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct(_InIterator, _InIterator, std::forward_iterator_tag) [with _FwdIterator = const char*; _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/usr/include/c++/7/bits/basic_string.h:236:23:   required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct_aux(_InIterator, _InIterator, std::__false_type) [with _InIterator = const char*; _CharT = const char; _Traits= std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/usr/include/c++/7/bits/basic_string.h:255:20:   required from ‘void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_construct(_InIterator, _InIterator) [with _InIterator = const char*; _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/usr/include/c++/7/bits/basic_string.h:511:21:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:24:17:   required from ‘std::vector<std::__cxx11::basic_string<_CharT> > boost::program_options::detail::make_vector(Iterator, Iterator) [with charT = const char; Iterator = const char**]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:43:56:   required from ‘boost::program_options::basic_command_line_parser<charT>::basic_command_line_parser(int, charT**) [with charT = const char]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:120:16:   required from ‘boost::program_options::basic_parsed_options<charT> boost::program_options::parse_command_line(int, charT**, const boost::program_options::options_description&, int, boost::function1<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, const std::__cxx11::basic_string<char>&>) [with charT = const char]’
/home/jovyan/sbm-bp/src/main.cpp:150:61:   required from here
/usr/include/c++/7/bits/char_traits.h:97:14: error: assignment of read-only reference ‘__c1’
       { __c1 = __c2; }
         ~~~~~^~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from /home/jovyan/sbm-bp/src/main.cpp:14:
/usr/include/c++/7/bits/stl_algobase.h: In instantiation of ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const char*; _OI = const char*]’:
/usr/include/c++/7/bits/stl_algobase.h:422:45:   required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const char*; _OI = const char*]’
/usr/include/c++/7/bits/stl_algobase.h:455:8:   required from ‘_OI std::copy(_II, _II, _OI) [with _II = const char*; _OI =const char*]’
/usr/include/c++/7/bits/char_traits.h:196:16:   required from ‘static __gnu_cxx::char_traits<_CharT>::char_type* __gnu_cxx::char_traits<_CharT>::copy(__gnu_cxx::char_traits<_CharT>::char_type*, const char_type*, std::size_t) [with _CharT = constchar; __gnu_cxx::char_traits<_CharT>::char_type = const char; std::size_t = long unsigned int]’
/usr/include/c++/7/bits/basic_string.h:536:23:   required from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = const char; _Traits = std::char_traits<const char>; _Alloc = std::allocator<const char>]’
/usr/include/c++/7/ext/new_allocator.h:136:4:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/7/bits/vector.tcc:100:30:   required from ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with_Args = {std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >}; _Tp = std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >; _Alloc = std::allocator<std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >]’
/usr/include/c++/7/bits/stl_vector.h:954:21:   required from ‘void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >; _Alloc = std::allocator<std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> > >; std::vector<_Tp, _Alloc>::value_type = std::__cxx11::basic_string<const char, std::char_traits<const char>, std::allocator<const char> >]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:24:17:   required from ‘std::vector<std::__cxx11::basic_string<_CharT> > boost::program_options::detail::make_vector(Iterator, Iterator) [with charT = const char; Iterator = const char**]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:43:56:   required from ‘boost::program_options::basic_command_line_parser<charT>::basic_command_line_parser(int, charT**) [with charT = const char]’
/home/jovyan/sbm-bp/boost/program_options/detail/parsers.hpp:120:16:   required from ‘boost::program_options::basic_parsed_options<charT> boost::program_options::parse_command_line(int, charT**, const boost::program_options::options_description&, int, boost::function1<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, const std::__cxx11::basic_string<char>&>) [with charT = const char]’
/home/jovyan/sbm-bp/src/main.cpp:150:61:   required from here
/usr/include/c++/7/bits/stl_algobase.h:386:44: error: no matching function for call to ‘std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m(const char*&, const char*&, const char*&)’
       return std::__copy_move<_IsMove, __simple,
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        _Category>::__copy_m(__first, __last, __result);
                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:357:9: note: candidate: template<class _Tp> static _Tp* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(const _Tp*, const _Tp*, _Tp*) [with _Tp = _Tp; bool _IsMove = false]
         __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
         ^~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:357:9: note:   template argument deduction/substitution failed:
/usr/include/c++/7/bits/stl_algobase.h:386:44: note:   deduced conflicting types for parameter ‘_Tp’ (‘char’ and ‘const char’)
       return std::__copy_move<_IsMove, __simple,
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        _Category>::__copy_m(__first, __last, __result);
                        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/bp.dir/build.make:80: src/CMakeFiles/bp.dir/main.cpp.o] Error 1
make[2]: Leaving directory '/home/jovyan/sbm-bp'
make[1]: *** [CMakeFiles/Makefile2:111: src/CMakeFiles/bp.dir/all] Error 2
make[1]: Leaving directory '/home/jovyan/sbm-bp'
make: *** [Makefile:101: all] Error 2

I checked main.cpp and it seems that something is wrong with boost's program_options?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.