$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Is there any interest in a library for actor programming?
From: Dominik Charousset (dominik.charousset_at_[hidden])
Date: 2014-05-23 18:02:25
> [ 20%] Building CXX object CMakeFiles/libboost_actor.dir/src/cs_thread.cpp.o
> /home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/src/cs_thread.cpp:154:61: error: no member named 'minimum_stacksize' in
> 'boost::coroutines::basic_standard_stack_allocator<boost::coroutines::stack_traits>'
> auto mss = static_cast<intptr_t>( stack_allocator::minimum_stacksize()
> ~~~~~~~~~~~~~~~~~^
> /home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/src/cs_thread.cpp:158:13: error: assigning to 'context' (aka 'void **') from incompatible
> type 'fcontext_t' (aka 'void *')
> ctx = ctxn::make_fcontext(sinf.sp, sinf.size, cst_trampoline);
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/src/cs_thread.cpp:160:24: error: member reference base type 'ctxn::fcontext_t'
> (aka 'void *') is not a structure or union
> ctx->fc_stack.sp,
> ~~~^ ~~~~~~~~
> 3 errors generated.
> make[3]: *** [CMakeFiles/libboost_actor.dir/src/cs_thread.cpp.o] Error 1
> make[3]: Leaving directory `/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
> make[2]: *** [CMakeFiles/libboost_actor.dir/all] Error 2
> make[2]: Leaving directory `/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
> make: *** [all] Error 2
> ~/prog_dev/boost/sandbox/boost.actor.dir/boost.actor $
>
> Please, how should I correct the errors?
What Version of Boost are you using? Did they change the Boost.Context API again? Disabling it should help: ./configure --disable-context-switching
This option turns off the context-switching actor implementation, i.e., actors that use the blocking API but still participate in the cooperative scheduling.