Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build error #658

Closed
kenneth opened this issue Feb 11, 2018 · 22 comments
Closed

build error #658

kenneth opened this issue Feb 11, 2018 · 22 comments
Labels
build About build process question

Comments

@kenneth
Copy link

kenneth commented Feb 11, 2018

/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:48:19: error: declaration of 'environ' has a different
/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:93:15: error: no member named 'insert' in
/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:93:35: error: no member named 'value_type' in
In file included from /bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
In file included from /bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:26:
/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/posix_helpers.hpp:62:29: error: no member named 'first' in
/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/posix_helpers.hpp:62:47: error: no member named 'second' in
In file included from /bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:407:14: error: redefinition of 'shell' as different kind of symbol
@pmconrad
Copy link
Contributor

More info please. Compiler? OS? Version? Output from cmake?

@abitmore abitmore added build About build process question labels Feb 11, 2018
@jmjatlanta
Copy link
Contributor

I had a similar error building on a mac. If you're on a mac, see my notes at https://github.com/bitshares/bitshares-core/wiki/Building-on-OS-X

Also, removing bitshares-core and cloning it again (along with the required 'git submodule update') got me past such errors. Let me know if you are still stuck.

@pmconrad
Copy link
Contributor

Also, removing bitshares-core and cloning it again (along with the required 'git submodule update') got me past such errors.

Hm, that seems to be a common solution. Perhaps we should modify the build documentation to do an out-of-tree build.

@kenneth
Copy link
Author

kenneth commented Feb 16, 2018

cmake . is OK,but make have error. I build on my mac。

[  3%] Built target project_secp256k1
[  4%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/interprocess/process.cpp.o
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:24:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/context.hpp:35:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:48:19: error: declaration of 'environ' has a different
      language linkage
    extern char **environ;
                  ^
/opt/local/include/boost/process/detail/config.hpp:31:15: note: previous declaration is here
extern char **environ;
              ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:24:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/context.hpp:35:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:93:15: error: no member named 'insert' in
      'boost::process::basic_environment<char>'
            e.insert(environment::value_type(s.substr(0, pos),
            ~ ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:93:35: error: no member named 'value_type' in
      'boost::process::basic_environment<char>'
            e.insert(environment::value_type(s.substr(0, pos),
                     ~~~~~~~~~~~~~^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:26:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/posix_helpers.hpp:62:29: error: no member named 'first' in
      'boost::process::detail::const_entry<char, const boost::process::basic_environment_impl<char, detail::api::basic_environment_impl> >'
        std::string s = it->first + "=" + it->second;
                        ~~  ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/posix_helpers.hpp:62:47: error: no member named 'second' in
      'boost::process::detail::const_entry<char, const boost::process::basic_environment_impl<char, detail::api::basic_environment_impl> >'
        std::string s = it->first + "=" + it->second;
                                          ~~  ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:407:14: error: redefinition of 'shell' as different
      kind of symbol
inline child shell(const std::string &command, Context ctx)
             ^
/opt/local/include/boost/process/shell.hpp:86:44: note: previous definition is here
constexpr ::boost::process::detail::shell_ shell;
                                           ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:431:14: error: redefinition of 'shell' as different
      kind of symbol
inline child shell(const std::string &command)
             ^
/opt/local/include/boost/process/shell.hpp:86:44: note: previous definition is here
constexpr ::boost::process::detail::shell_ shell;
                                           ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:433:12: error: no matching function for call to object
      of type 'const ::boost::process::detail::shell_'
    return shell(command, context());
           ^~~~~
/opt/local/include/boost/process/shell.hpp:51:29: note: candidate function not viable: requires single argument 'ec', but 2 arguments were provided
    boost::filesystem::path operator()(std::error_code & ec) const noexcept
                            ^
/opt/local/include/boost/process/shell.hpp:47:29: note: candidate function not viable: requires 0 arguments, but 2 were provided
    boost::filesystem::path operator()() const
                            ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:34:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/status.hpp:25:
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/basic_status_service.hpp:275:56: error: no member named
      'get_id' in 'boost::process::child'
        interrupt_pid_ = create_child("/bin/sh", args).get_id();
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:109:35: error: no member named 'get_handle' in 'boost::process::child'
     bp::handle outh = my->child->get_handle( bp::stdout_id );
                       ~~~~~~~~~  ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:110:27: error: no matching constructor for initialization of 'bp::pipe'
      (aka 'basic_pipe<char>')
     my->_outp.reset( new bp::pipe( fc::asio::default_io_service(), outh.release() ) );
                          ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:31:14: note: candidate constructor not viable: no known conversion from 'boost::asio::io_service' to 'int' for 1st
      argument
    explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:49:12: note: candidate constructor not viable: requires single argument 'rhs', but 2 arguments were provided
    inline basic_pipe(const basic_pipe& rhs);
           ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:50:21: note: candidate constructor not viable: requires single argument 'name', but 2 arguments were provided
    explicit inline basic_pipe(const std::string& name);
                    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:51:5: note: candidate constructor not viable: requires single argument 'lhs', but 2 arguments were provided
    basic_pipe(basic_pipe&& lhs)  : _source(lhs._source), _sink(lhs._sink)
    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:32:14: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:40:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    basic_pipe()
    ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:113:35: error: no member named 'get_handle' in 'boost::process::child'
     bp::handle errh = my->child->get_handle( bp::stderr_id );
                       ~~~~~~~~~  ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:114:27: error: no matching constructor for initialization of 'bp::pipe'
      (aka 'basic_pipe<char>')
     my->_errp.reset( new bp::pipe( fc::asio::default_io_service(), errh.release() ) );
                          ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:31:14: note: candidate constructor not viable: no known conversion from 'boost::asio::io_service' to 'int' for 1st
      argument
    explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:49:12: note: candidate constructor not viable: requires single argument 'rhs', but 2 arguments were provided
    inline basic_pipe(const basic_pipe& rhs);
           ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:50:21: note: candidate constructor not viable: requires single argument 'name', but 2 arguments were provided
    explicit inline basic_pipe(const std::string& name);
                    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:51:5: note: candidate constructor not viable: requires single argument 'lhs', but 2 arguments were provided
    basic_pipe(basic_pipe&& lhs)  : _source(lhs._source), _sink(lhs._sink)
    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:32:14: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:40:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    basic_pipe()
    ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:117:35: error: no member named 'get_handle' in 'boost::process::child'
     bp::handle inh  = my->child->get_handle( bp::stdin_id );
                       ~~~~~~~~~  ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:118:27: error: no matching constructor for initialization of 'bp::pipe'
      (aka 'basic_pipe<char>')
     my->_inp.reset(  new bp::pipe( fc::asio::default_io_service(), inh.release()  ) );
                          ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:31:14: note: candidate constructor not viable: no known conversion from 'boost::asio::io_service' to 'int' for 1st
      argument
    explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:49:12: note: candidate constructor not viable: requires single argument 'rhs', but 2 arguments were provided
    inline basic_pipe(const basic_pipe& rhs);
           ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:50:21: note: candidate constructor not viable: requires single argument 'name', but 2 arguments were provided
    explicit inline basic_pipe(const std::string& name);
                    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:51:5: note: candidate constructor not viable: requires single argument 'lhs', but 2 arguments were provided
    basic_pipe(basic_pipe&& lhs)  : _source(lhs._source), _sink(lhs._sink)
    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:32:14: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:40:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    basic_pipe()
    ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:123:36: error: no member named 'get_id' in 'boost::process::child'
  my->stat.async_wait(  my->child->get_id(), [=]( const boost::system::error_code& ec, int exit_code )
                        ~~~~~~~~~  ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:23:
In file included from /opt/local/include/boost/process/child.hpp:22:
/opt/local/include/boost/process/detail/execute_impl.hpp:117:22: error: implicit instantiation of undefined template 'boost::process::detail::initializer_tag<int>'
    typedef typename initializer_tag<res_type>::type tag;
                     ^
/opt/local/include/boost/process/detail/execute_impl.hpp:253:48: note: in instantiation of template class
      'boost::process::detail::make_builders_from_view<boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>,
      std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 0>, boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 2>>' requested here
    typedef typename ::boost::process::detail::make_builders_from_view<
                                               ^
/opt/local/include/boost/process/detail/execute_impl.hpp:275:12: note: in instantiation of function template specialization 'boost::process::detail::basic_execute_impl<char, int &,
      std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    return basic_execute_impl<req_char_type>(
           ^
/opt/local/include/boost/process/child.hpp:35:39: note: in instantiation of function template specialization 'boost::process::detail::execute_impl<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    : child(::boost::process::detail::execute_impl(std::forward<Args>(args)...)) {}
                                      ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:312:16: note: in instantiation of function template
      specialization 'boost::process::child::child<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int,
      boost::process::handle> > > &>' requested here
        return child(pid, parent_ends);
               ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:376:12: note: in instantiation of function template
      specialization 'boost::process::create_child<std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >, boost::process::context>'
      requested here
    return create_child(executable, std::vector<std::string>(), context());
           ^
/opt/local/include/boost/process/detail/traits/decl.hpp:33:8: note: template is declared here
struct initializer_tag;// { typedef void type; };
       ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:23:
In file included from /opt/local/include/boost/process/child.hpp:22:
/opt/local/include/boost/process/detail/execute_impl.hpp:118:22: error: implicit instantiation of undefined template 'boost::process::detail::initializer_builder<int>'
    typedef typename initializer_builder<tag>::type builder_type;
                     ^
/opt/local/include/boost/process/detail/traits/decl.hpp:49:8: note: template is declared here
struct initializer_builder;
       ^
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:23:
In file included from /opt/local/include/boost/process/child.hpp:22:
/opt/local/include/boost/process/detail/execute_impl.hpp:117:22: error: implicit instantiation of undefined template 'boost::process::detail::initializer_tag<std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > >'
    typedef typename initializer_tag<res_type>::type tag;
                     ^
/opt/local/include/boost/process/detail/execute_impl.hpp:122:22: note: in instantiation of template class
      'boost::process::detail::make_builders_from_view<boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>,
      std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 1>, boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 2>>' requested here
    typedef typename make_builders_from_view<next_itr, End>::type next;
                     ^
/opt/local/include/boost/process/detail/execute_impl.hpp:253:48: note: in instantiation of template class
      'boost::process::detail::make_builders_from_view<boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>,
      std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 0>, boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 2>>' requested here
    typedef typename ::boost::process::detail::make_builders_from_view<
                                               ^
/opt/local/include/boost/process/detail/execute_impl.hpp:275:12: note: in instantiation of function template specialization 'boost::process::detail::basic_execute_impl<char, int &,
      std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    return basic_execute_impl<req_char_type>(
           ^
/opt/local/include/boost/process/child.hpp:35:39: note: in instantiation of function template specialization 'boost::process::detail::execute_impl<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    : child(::boost::process::detail::execute_impl(std::forward<Args>(args)...)) {}
                                      ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:312:16: note: in instantiation of function template
      specialization 'boost::process::child::child<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int,
      boost::process::handle> > > &>' requested here
        return child(pid, parent_ends);
               ^
/Users/bm/Documents/BlockDev/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:376:12: note: in instantiation of function template
      specialization 'boost::process::create_child<std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >, boost::process::context>'
      requested here
    return create_child(executable, std::vector<std::string>(), context());
           ^
/opt/local/include/boost/process/detail/traits/decl.hpp:33:8: note: template is declared here
struct initializer_tag;// { typedef void type; };
       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [libraries/fc/CMakeFiles/fc.dir/src/interprocess/process.cpp.o] Error 1
make[1]: *** [libraries/fc/CMakeFiles/fc.dir/all] Error 2
make: *** [all] Error 2

@abitmore
Copy link
Member

abitmore commented Feb 16, 2018

@kenneth:

More info please. Compiler? OS? Version? Output from cmake?

In addition, version of your boost library? and OpenSSL library?

@jmjatlanta
Copy link
Contributor

I saw similar errors when I compiled my own boost library instead of using the one from brew. I am guessing that one is using gcc, and another using clang. Are you attempting to compile your own boost or using brew?

@ihla
Copy link

ihla commented Feb 17, 2018

I build with the boost installed with brew without any issue.

@kenneth
Copy link
Author

kenneth commented Feb 19, 2018

@abitmore i build on my mac . i use boost 1.60 and OPENSSL_VERSION = 1.0.2n
boost is install use brew

cmake -DBOOST_ROOT=/usr/local/opt/boost@1.60 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl .

PS: the full log

➜  bitshares-core git:(develop) ✗ make
[  3%] Built target project_secp256k1
Scanning dependencies of target fc
[  3%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/uint128.cpp.o
[  4%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/real128.cpp.o
[  4%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/variant.cpp.o
[  4%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/exception.cpp.o
[  5%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/variant_object.cpp.o
[  5%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/thread.cpp.o
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/thread.cpp:5:
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/thread_d.hpp:5:
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/context.hpp:3:
In file included from /usr/local/opt/boost@1.60/include/boost/context/all.hpp:9:
In file included from /usr/local/opt/boost@1.60/include/boost/context/protected_fixedsize_stack.hpp:12:
/usr/local/opt/boost@1.60/include/boost/context/posix/protected_fixedsize_stack.hpp:76:19: warning: unused variable 'result' [-Wunused-variable]
        const int result( ::mprotect( vp, traits_type::page_size(), PROT_NONE) );
                  ^
1 warning generated.
[  5%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/thread_specific.cpp.o
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/thread_specific.cpp:3:
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/thread_d.hpp:5:
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/context.hpp:3:
In file included from /usr/local/opt/boost@1.60/include/boost/context/all.hpp:9:
In file included from /usr/local/opt/boost@1.60/include/boost/context/protected_fixedsize_stack.hpp:12:
/usr/local/opt/boost@1.60/include/boost/context/posix/protected_fixedsize_stack.hpp:76:19: warning: unused variable 'result' [-Wunused-variable]
        const int result( ::mprotect( vp, traits_type::page_size(), PROT_NONE) );
                  ^
1 warning generated.
[  6%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/future.cpp.o
[  6%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/task.cpp.o
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/task.cpp:6:
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/context.hpp:3:
In file included from /usr/local/opt/boost@1.60/include/boost/context/all.hpp:9:
In file included from /usr/local/opt/boost@1.60/include/boost/context/protected_fixedsize_stack.hpp:12:
/usr/local/opt/boost@1.60/include/boost/context/posix/protected_fixedsize_stack.hpp:76:19: warning: unused variable 'result' [-Wunused-variable]
        const int result( ::mprotect( vp, traits_type::page_size(), PROT_NONE) );
                  ^
1 warning generated.
[  6%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/spin_lock.cpp.o
[  7%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/spin_yield_lock.cpp.o
[  7%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/mutex.cpp.o
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/mutex.cpp:5:
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/thread/context.hpp:3:
In file included from /usr/local/opt/boost@1.60/include/boost/context/all.hpp:9:
In file included from /usr/local/opt/boost@1.60/include/boost/context/protected_fixedsize_stack.hpp:12:
/usr/local/opt/boost@1.60/include/boost/context/posix/protected_fixedsize_stack.hpp:76:19: warning: unused variable 'result' [-Wunused-variable]
        const int result( ::mprotect( vp, traits_type::page_size(), PROT_NONE) );
                  ^
/Users/bitshares/bitshares-core/libraries/fc/src/thread/mutex.cpp:18:16: warning: unused variable 'c' [-Wunused-variable]
      context* c = m_blist;
               ^
2 warnings generated.
[  7%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/non_preemptable_scope_check.cpp.o
[  8%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/asio.cpp.o
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/asio.cpp:1:
In file included from /Users/bitshares/bitshares-core/libraries/fc/include/fc/asio.hpp:6:
In file included from /usr/local/opt/boost@1.60/include/boost/asio.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_datagram_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_io_object.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/io_service.hpp:767:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/impl/io_service.hpp:71:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/task_io_service.hpp:196:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/impl/task_io_service.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/completion_handler.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/fenced_block.hpp:24:
/usr/local/opt/boost@1.60/include/boost/asio/detail/macos_fenced_block.hpp:45:5: warning: 'OSMemoryBarrier' is deprecated: first deprecated in macOS 10.12 - Use
      std::atomic_thread_fence() from <atomic> instead [-Wdeprecated-declarations]
    OSMemoryBarrier();
    ^
/usr/include/libkern/OSAtomicDeprecated.h:749:9: note: 'OSMemoryBarrier' has been explicitly marked deprecated here
void    OSMemoryBarrier( void );
        ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/asio.cpp:1:
In file included from /Users/bitshares/bitshares-core/libraries/fc/include/fc/asio.hpp:6:
In file included from /usr/local/opt/boost@1.60/include/boost/asio.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_datagram_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_io_object.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/io_service.hpp:767:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/impl/io_service.hpp:71:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/task_io_service.hpp:196:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/impl/task_io_service.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/completion_handler.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/fenced_block.hpp:24:
/usr/local/opt/boost@1.60/include/boost/asio/detail/macos_fenced_block.hpp:51:5: warning: 'OSMemoryBarrier' is deprecated: first deprecated in macOS 10.12 - Use
      std::atomic_thread_fence() from <atomic> instead [-Wdeprecated-declarations]
    OSMemoryBarrier();
    ^
/usr/include/libkern/OSAtomicDeprecated.h:749:9: note: 'OSMemoryBarrier' has been explicitly marked deprecated here
void    OSMemoryBarrier( void );
        ^
2 warnings generated.
[  8%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/string.cpp.o
[  8%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/shared_ptr.cpp.o
[  9%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/time.cpp.o
[  9%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/utf8.cpp.o
/Users/bitshares/bitshares-core/libraries/fc/src/utf8.cpp:16:12: warning: unused variable 'itr' [-Wunused-variable]
      auto itr = utf8::find_invalid(str.begin(), str.end());
           ^
1 warning generated.
[ 10%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/iostream.cpp.o
[ 10%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/datastream.cpp.o
[ 10%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/buffered_iostream.cpp.o
[ 11%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/fstream.cpp.o
[ 11%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/sstream.cpp.o
[ 11%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/json.cpp.o
[ 12%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/varint.cpp.o
[ 12%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/io/console.cpp.o
[ 12%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/filesystem.cpp.o
[ 13%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/interprocess/process.cpp.o
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:4:
In file included from /Users/bitshares/bitshares-core/libraries/fc/include/fc/asio.hpp:6:
In file included from /usr/local/opt/boost@1.60/include/boost/asio.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_datagram_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_io_object.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/io_service.hpp:767:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/impl/io_service.hpp:71:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/task_io_service.hpp:196:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/impl/task_io_service.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/completion_handler.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/fenced_block.hpp:24:
/usr/local/opt/boost@1.60/include/boost/asio/detail/macos_fenced_block.hpp:45:5: warning: 'OSMemoryBarrier' is deprecated: first deprecated in macOS 10.12 - Use
      std::atomic_thread_fence() from <atomic> instead [-Wdeprecated-declarations]
    OSMemoryBarrier();
    ^
/usr/include/libkern/OSAtomicDeprecated.h:749:9: note: 'OSMemoryBarrier' has been explicitly marked deprecated here
void    OSMemoryBarrier( void );
        ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:4:
In file included from /Users/bitshares/bitshares-core/libraries/fc/include/fc/asio.hpp:6:
In file included from /usr/local/opt/boost@1.60/include/boost/asio.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_datagram_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_socket.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/basic_io_object.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/io_service.hpp:767:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/impl/io_service.hpp:71:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/task_io_service.hpp:196:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/impl/task_io_service.hpp:19:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/completion_handler.hpp:20:
In file included from /usr/local/opt/boost@1.60/include/boost/asio/detail/fenced_block.hpp:24:
/usr/local/opt/boost@1.60/include/boost/asio/detail/macos_fenced_block.hpp:51:5: warning: 'OSMemoryBarrier' is deprecated: first deprecated in macOS 10.12 - Use
      std::atomic_thread_fence() from <atomic> instead [-Wdeprecated-declarations]
    OSMemoryBarrier();
    ^
/usr/include/libkern/OSAtomicDeprecated.h:749:9: note: 'OSMemoryBarrier' has been explicitly marked deprecated here
void    OSMemoryBarrier( void );
        ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:24:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/context.hpp:35:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:48:19: error: declaration of 'environ' has a different
      language linkage
    extern char **environ;
                  ^
/opt/local/include/boost/process/detail/config.hpp:31:15: note: previous declaration is here
extern char **environ;
              ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:24:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/context.hpp:35:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:93:15: error: no member named 'insert' in
      'boost::process::basic_environment<char>'
            e.insert(environment::value_type(s.substr(0, pos),
            ~ ^
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/self.hpp:93:35: error: no member named 'value_type' in
      'boost::process::basic_environment<char>'
            e.insert(environment::value_type(s.substr(0, pos),
                     ~~~~~~~~~~~~~^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:26:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/posix_helpers.hpp:62:29: error: no member named 'first' in
      'boost::process::detail::const_entry<char, const boost::process::basic_environment_impl<char, detail::api::basic_environment_impl> >'
        std::string s = it->first + "=" + it->second;
                        ~~  ^
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/posix_helpers.hpp:62:47: error: no member named 'second' in
      'boost::process::detail::const_entry<char, const boost::process::basic_environment_impl<char, detail::api::basic_environment_impl> >'
        std::string s = it->first + "=" + it->second;
                                          ~~  ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:407:14: error: redefinition of 'shell' as different
      kind of symbol
inline child shell(const std::string &command, Context ctx)
             ^
/opt/local/include/boost/process/shell.hpp:86:44: note: previous definition is here
constexpr ::boost::process::detail::shell_ shell;
                                           ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:431:14: error: redefinition of 'shell' as different
      kind of symbol
inline child shell(const std::string &command)
             ^
/opt/local/include/boost/process/shell.hpp:86:44: note: previous definition is here
constexpr ::boost::process::detail::shell_ shell;
                                           ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:27:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:433:12: error: no matching function for call to object
      of type 'const ::boost::process::detail::shell_'
    return shell(command, context());
           ^~~~~
/opt/local/include/boost/process/shell.hpp:51:29: note: candidate function not viable: requires single argument 'ec', but 2 arguments were provided
    boost::filesystem::path operator()(std::error_code & ec) const noexcept
                            ^
/opt/local/include/boost/process/shell.hpp:47:29: note: candidate function not viable: requires 0 arguments, but 2 were provided
    boost::filesystem::path operator()() const
                            ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:34:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/status.hpp:25:
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/detail/basic_status_service.hpp:275:56: error: no member named
      'get_id' in 'boost::process::child'
        interrupt_pid_ = create_child("/bin/sh", args).get_id();
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:8:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/stream.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/stream_buffer.hpp:22:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/push.hpp:24:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/resolve.hpp:26:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/is_dereferenceable.hpp:12:
/usr/local/opt/boost@1.60/include/boost/type_traits/detail/bool_trait_def.hpp:18:10: warning: NOTE: Use of this header (bool_trait_def.hpp) is deprecated [-W#pragma-messages]
# pragma message("NOTE: Use of this header (bool_trait_def.hpp) is deprecated")
         ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:8:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/stream.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/stream_buffer.hpp:22:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/push.hpp:24:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/resolve.hpp:26:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/is_dereferenceable.hpp:12:
In file included from /usr/local/opt/boost@1.60/include/boost/type_traits/detail/bool_trait_def.hpp:21:
/usr/local/opt/boost@1.60/include/boost/type_traits/detail/template_arity_spec.hpp:13:10: warning: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
      [-W#pragma-messages]
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
         ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:8:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/stream.hpp:21:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/stream_buffer.hpp:22:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/push.hpp:24:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/resolve.hpp:26:
In file included from /usr/local/opt/boost@1.60/include/boost/iostreams/detail/is_dereferenceable.hpp:13:
/usr/local/opt/boost@1.60/include/boost/type_traits/detail/template_arity_spec.hpp:13:10: warning: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
      [-W#pragma-messages]
# pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
         ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:109:35: error: no member named 'get_handle' in 'boost::process::child'
     bp::handle outh = my->child->get_handle( bp::stdout_id );
                       ~~~~~~~~~  ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:110:27: error: no matching constructor for initialization of 'bp::pipe'
      (aka 'basic_pipe<char>')
     my->_outp.reset( new bp::pipe( fc::asio::default_io_service(), outh.release() ) );
                          ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:31:14: note: candidate constructor not viable: no known conversion from 'boost::asio::io_service' to 'int' for 1st
      argument
    explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:49:12: note: candidate constructor not viable: requires single argument 'rhs', but 2 arguments were provided
    inline basic_pipe(const basic_pipe& rhs);
           ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:50:21: note: candidate constructor not viable: requires single argument 'name', but 2 arguments were provided
    explicit inline basic_pipe(const std::string& name);
                    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:51:5: note: candidate constructor not viable: requires single argument 'lhs', but 2 arguments were provided
    basic_pipe(basic_pipe&& lhs)  : _source(lhs._source), _sink(lhs._sink)
    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:32:14: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:40:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    basic_pipe()
    ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:113:35: error: no member named 'get_handle' in 'boost::process::child'
     bp::handle errh = my->child->get_handle( bp::stderr_id );
                       ~~~~~~~~~  ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:114:27: error: no matching constructor for initialization of 'bp::pipe'
      (aka 'basic_pipe<char>')
     my->_errp.reset( new bp::pipe( fc::asio::default_io_service(), errh.release() ) );
                          ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:31:14: note: candidate constructor not viable: no known conversion from 'boost::asio::io_service' to 'int' for 1st
      argument
    explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:49:12: note: candidate constructor not viable: requires single argument 'rhs', but 2 arguments were provided
    inline basic_pipe(const basic_pipe& rhs);
           ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:50:21: note: candidate constructor not viable: requires single argument 'name', but 2 arguments were provided
    explicit inline basic_pipe(const std::string& name);
                    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:51:5: note: candidate constructor not viable: requires single argument 'lhs', but 2 arguments were provided
    basic_pipe(basic_pipe&& lhs)  : _source(lhs._source), _sink(lhs._sink)
    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:32:14: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:40:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    basic_pipe()
    ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:117:35: error: no member named 'get_handle' in 'boost::process::child'
     bp::handle inh  = my->child->get_handle( bp::stdin_id );
                       ~~~~~~~~~  ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:118:27: error: no matching constructor for initialization of 'bp::pipe'
      (aka 'basic_pipe<char>')
     my->_inp.reset(  new bp::pipe( fc::asio::default_io_service(), inh.release()  ) );
                          ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:31:14: note: candidate constructor not viable: no known conversion from 'boost::asio::io_service' to 'int' for 1st
      argument
    explicit basic_pipe(int source, int sink) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:49:12: note: candidate constructor not viable: requires single argument 'rhs', but 2 arguments were provided
    inline basic_pipe(const basic_pipe& rhs);
           ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:50:21: note: candidate constructor not viable: requires single argument 'name', but 2 arguments were provided
    explicit inline basic_pipe(const std::string& name);
                    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:51:5: note: candidate constructor not viable: requires single argument 'lhs', but 2 arguments were provided
    basic_pipe(basic_pipe&& lhs)  : _source(lhs._source), _sink(lhs._sink)
    ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:32:14: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
    explicit basic_pipe(int source, int sink, const std::string & name) : _source(source), _sink(sink) {}
             ^
/opt/local/include/boost/process/detail/posix/basic_pipe.hpp:40:5: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    basic_pipe()
    ^
/Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:123:36: error: no member named 'get_id' in 'boost::process::child'
  my->stat.async_wait(  my->child->get_id(), [=]( const boost::system::error_code& ec, int exit_code )
                        ~~~~~~~~~  ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:23:
In file included from /opt/local/include/boost/process/child.hpp:22:
/opt/local/include/boost/process/detail/execute_impl.hpp:117:22: error: implicit instantiation of undefined template 'boost::process::detail::initializer_tag<int>'
    typedef typename initializer_tag<res_type>::type tag;
                     ^
/opt/local/include/boost/process/detail/execute_impl.hpp:253:48: note: in instantiation of template class
      'boost::process::detail::make_builders_from_view<boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>,
      std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 0>, boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 2>>' requested here
    typedef typename ::boost::process::detail::make_builders_from_view<
                                               ^
/opt/local/include/boost/process/detail/execute_impl.hpp:275:12: note: in instantiation of function template specialization 'boost::process::detail::basic_execute_impl<char, int &,
      std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    return basic_execute_impl<req_char_type>(
           ^
/opt/local/include/boost/process/child.hpp:35:39: note: in instantiation of function template specialization 'boost::process::detail::execute_impl<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    : child(::boost::process::detail::execute_impl(std::forward<Args>(args)...)) {}
                                      ^
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:312:16: note: in instantiation of function template
      specialization 'boost::process::child::child<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int,
      boost::process::handle> > > &>' requested here
        return child(pid, parent_ends);
               ^
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:376:12: note: in instantiation of function template
      specialization 'boost::process::create_child<std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >, boost::process::context>'
      requested here
    return create_child(executable, std::vector<std::string>(), context());
           ^
/opt/local/include/boost/process/detail/traits/decl.hpp:33:8: note: template is declared here
struct initializer_tag;// { typedef void type; };
       ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:23:
In file included from /opt/local/include/boost/process/child.hpp:22:
/opt/local/include/boost/process/detail/execute_impl.hpp:118:22: error: implicit instantiation of undefined template 'boost::process::detail::initializer_builder<int>'
    typedef typename initializer_builder<tag>::type builder_type;
                     ^
/opt/local/include/boost/process/detail/traits/decl.hpp:49:8: note: template is declared here
struct initializer_builder;
       ^
In file included from /Users/bitshares/bitshares-core/libraries/fc/src/interprocess/process.cpp:7:
In file included from /Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/all.hpp:23:
In file included from /opt/local/include/boost/process/child.hpp:22:
/opt/local/include/boost/process/detail/execute_impl.hpp:117:22: error: implicit instantiation of undefined template 'boost::process::detail::initializer_tag<std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > >'
    typedef typename initializer_tag<res_type>::type tag;
                     ^
/opt/local/include/boost/process/detail/execute_impl.hpp:122:22: note: in instantiation of template class
      'boost::process::detail::make_builders_from_view<boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>,
      std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 1>, boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 2>>' requested here
    typedef typename make_builders_from_view<next_itr, End>::type next;
                     ^
/opt/local/include/boost/process/detail/execute_impl.hpp:253:48: note: in instantiation of template class
      'boost::process::detail::make_builders_from_view<boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>,
      std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 0>, boost::fusion::vector_iterator<boost::fusion::vector<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>, 2>>' requested here
    typedef typename ::boost::process::detail::make_builders_from_view<
                                               ^
/opt/local/include/boost/process/detail/execute_impl.hpp:275:12: note: in instantiation of function template specialization 'boost::process::detail::basic_execute_impl<char, int &,
      std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    return basic_execute_impl<req_char_type>(
           ^
/opt/local/include/boost/process/child.hpp:35:39: note: in instantiation of function template specialization 'boost::process::detail::execute_impl<int &, std::__1::map<int,
      boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int, boost::process::handle> > > &>' requested here
    : child(::boost::process::detail::execute_impl(std::forward<Args>(args)...)) {}
                                      ^
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:312:16: note: in instantiation of function template
      specialization 'boost::process::child::child<int &, std::__1::map<int, boost::process::handle, std::__1::less<int>, std::__1::allocator<std::__1::pair<const int,
      boost::process::handle> > > &>' requested here
        return child(pid, parent_ends);
               ^
/Users/bitshares/bitshares-core/libraries/fc/vendor/boost_1.51/include/boost/process/operations.hpp:376:12: note: in instantiation of function template
      specialization 'boost::process::create_child<std::__1::vector<std::__1::basic_string<char>, std::__1::allocator<std::__1::basic_string<char> > >, boost::process::context>'
      requested here
    return create_child(executable, std::vector<std::string>(), context());
           ^
/opt/local/include/boost/process/detail/traits/decl.hpp:33:8: note: template is declared here
struct initializer_tag;// { typedef void type; };
       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
5 warnings and 20 errors generated.
make[2]: *** [libraries/fc/CMakeFiles/fc.dir/src/interprocess/process.cpp.o] Error 1
make[1]: *** [libraries/fc/CMakeFiles/fc.dir/all] Error 2
make: *** [all] Error 2

@jmjatlanta
Copy link
Contributor

jmjatlanta commented Feb 19, 2018

@kenneth I had this happen to me at one point too. I don't have a good answer as to why, but please clone the repository again, and give it another try. That's what I did and the problem disappeared.

The error makes it look like fc is using an embedded version of boost, and bitshares is using what you told it to. Somewhere along the line, wires get crossed. If I hazard a guess, I'd say there's a cmake artifact somewhere that we're not deleting before running cmake again.

Please let me know the results.

@kenneth
Copy link
Author

kenneth commented Feb 20, 2018

@jmjatlanta boost version problem ,and i have set BOOST_ROOT but the code always run to boost_1.51

cmake -DBOOST_ROOT=/usr/local/opt/boost@1.60
bitshares-core/libraries/fc/vendor/boost_1.51

@abitmore
Copy link
Member

@kenneth because there is a boost_1.51 directory in FC so the build process is messed up somehow. I guess it's there because it's required by certain component that is not compatible with newer boost library. Just guess. What will happen if we remove the boost_1.51 directory from FC?

@jmjatlanta
Copy link
Contributor

@abitmore I am out of town at the moment, and my mac is at home (I think that is a crime in some circles). When I return home, I will see if I can adjust the fc build to use the passed-in version of boost instead of the embedded version.

@kenneth I will try to recreate the issue. I know I had the same problem, but I don't know if there is a reliable way to fix it. I believe deleting bitshares-core and git clone again is what fixed it for me.

@kenneth
Copy link
Author

kenneth commented Feb 21, 2018

@jmjatlanta Can you update the fc vendor boost from 1.51 to 1.6? which version boost in you mac.

✗ brew info boost
boost: stable 1.66.0 (bottled), HEAD
Collection of portable C++ source libraries
https://www.boost.org/
/usr/local/Cellar/boost/1.66.0 (13,101 files, 435.2MB) *
  Poured from bottle on 2017-12-24 at 12:55:43
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/boost.rb
==> Dependencies
Optional: icu4c ✔
==> Options
--with-icu4c
	Build regexp engine with icu support
--without-single
	Disable building single-threading variant
--without-static
	Disable building static library variant
--HEAD
	Install HEAD version

@jmjatlanta
Copy link
Contributor

I have attempted to remove the 1.51 version of Boost from bitshares-fc. But there is a requirement for boost::process, which is not officially in boost until 1.64. So it looks like the code that is stored in the bitshares-fc repository is a custom build of the 1.51 version of Boost. Other Bitshares components require Boost versions 1.57 to 1.63, so attempting to move to 1.64 in this library will cause problems elsewhere.

There may be other dependencies, as I did not explore beyond boost::process.

Therefore, I believe the best near-term solution is to use the Boost version 1.60 installed by brew, and leave the 1.51 version in bitshares-fc.

I also believe the longer-term solution is to get Bitshares on newer versions of Boost that include boost::process, and eliminating the 1.51 version stored in the bitshares-fc repository.

None of this helps right now with the issue @kenneth sees that I no longer see. As I've said before, I had the same error in the past, fixed it with a sledgehammer, and now cannot recreate it. So it is difficult to diagnose what is going on.

What the compiler error indicates: Something (probably a header) has been included as C++, and now something else is attempting to link it, and thinks that the library is C, not C++, and without the required "extern C { }" wrapper, it throws an error.

@kenneth
Copy link
Author

kenneth commented Feb 27, 2018

@jmjatlanta Thank you for you help ,There is no better way to fix it now。I'll try to change the configuration of my system。

@jmjatlanta
Copy link
Contributor

If you wish, I published my binaries at the following link:

https://github.com/jmjatlanta/bitshares-core/releases/tag/mac-2.0.180226

@kenneth
Copy link
Author

kenneth commented Feb 27, 2018

@jmjatlanta Thanks a lot. we env is same but i can't compile pass .

@kenneth
Copy link
Author

kenneth commented Mar 8, 2018

now i have compile success use boost 1.60

@abitmore
Copy link
Member

abitmore commented Mar 8, 2018

Overlooked that you mentioned boost: stable 1.66.0 (bottled).

BTW sorry for the incomplete comment which was sent accidentally.

@abitmore abitmore closed this as completed Mar 8, 2018
@rabbitHX
Copy link

@kenneth how did you compile success? i think you use boost 1.60 all the time according your dialogue history,So please tell me what configuration you have changed.

@egonson
Copy link

egonson commented Jul 19, 2018

They say they succeeded, but there's no way.

@egonson
Copy link

egonson commented Jul 19, 2018

I solved this problem with this
$ sudo mv /opt/local/include/boost /opt/local/include/boost_old

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build About build process question
Projects
None yet
Development

No branches or pull requests

7 participants