cryptonomex / graphene

MIT License
1.05k stars 337 forks source link

Boost compatibility issue #674

Open ghost opened 7 years ago

ghost commented 7 years ago

I'm building on macOS and some Boost library has been deprecated in v1.63.0 and Graphene seemingly won't work with it anymore:

Scanning dependencies of target fc
[  8%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/uint128.cpp.o
[  9%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/real128.cpp.o
[  9%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/variant.cpp.o
[  9%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/exception.cpp.o
[ 10%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/variant_object.cpp.o
[ 10%] Building CXX object libraries/fc/CMakeFiles/fc.dir/src/thread/thread.cpp.o
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread.cpp:5:
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread_d.hpp:5:
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/context.hpp:10:
In file included from /usr/local/include/boost/coroutine/stack_context.hpp:14:
/usr/local/include/boost/coroutine/detail/config.hpp:17:4: warning: "Boost.Coroutine is now deprecated. Please switch to Boost.Coroutine2. To disable this warning message,
      define BOOST_COROUTINES_NO_DEPRECATION_WARNING." [-W#warnings]
#  warning                  "Boost.Coroutine is now deprecated. Please switch to Boost.Coroutine2. To disable this warning message, define BOOST_COROUTINES_NO_DEPRECATI...
   ^
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread.cpp:5:
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread_d.hpp:5:
/Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/context.hpp:215:9: error: no type named 'fcontext_t' in namespace 'boost::context'
    bc::fcontext_t               my_context;
    ~~~~^
/Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/context.hpp:69:23: error: no member named 'make_fcontext' in namespace 'boost::context'
     my_context = bc::make_fcontext( stack_ctx.sp, stack_ctx.size, sf); 
                  ~~~~^
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread.cpp:5:
/Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread_d.hpp:401:17: error: no member named 'jump_fcontext' in namespace 'boost::context'; did you mean
      'boost::context::detail::jump_fcontext'?
                bc::jump_fcontext( &prev->my_context, next->my_context, 0 );
                ^~~~~~~~~~~~~~~~~
                boost::context::detail::jump_fcontext
/usr/local/include/boost/context/detail/fcontext.hpp:31:35: note: 'boost::context::detail::jump_fcontext' declared here
transfer_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t const to, void * vp);
                                  ^
In file included from /Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread.cpp:5:
/Users/thor/Documents/Code/BitSpace/graphene/libraries/fc/src/thread/thread_d.hpp:443:17: error: no member named 'jump_fcontext' in namespace 'boost::context'; did you mean
      'boost::context::detail::jump_fcontext'?
                bc::jump_fcontext( &prev->my_context, next->my_context, (intptr_t)this );
                ^~~~~~~~~~~~~~~~~
                boost::context::detail::jump_fcontext
/usr/local/include/boost/context/detail/fcontext.hpp:31:35: note: 'boost::context::detail::jump_fcontext' declared here
transfer_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t const to, void * vp);
                                  ^
1 warning and 4 errors generated.
make[2]: *** [libraries/fc/CMakeFiles/fc.dir/src/thread/thread.cpp.o] Error 1
make[1]: *** [libraries/fc/CMakeFiles/fc.dir/all] Error 2
make: *** [all] Error 2

I'm attempting to build commit ae4bc619e45efd2010ccaad059ee305d1e8c1f59 (head of the master branch at the time of writing) and it's not happy.

vikramrajkumar commented 7 years ago

This repository is no longer maintained. https://github.com/bitshares/bitshares-core/ is effectively the reference Graphene implementation now.

Only Boost 1.57 to 1.60 is supported with no plans for change. You will need to build against a manual Boost build of one of these versions if your system version is newer.