Boost logo

Boost :

Subject: Re: [boost] Is there any interest in a library for actor programming?
From: Larry Evans (cppljevans_at_[hidden])
Date: 2014-05-24 11:37:20


On 05/23/14 17:02, Dominik Charousset wrote:
>> [ 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?

I'm using git. Maybe this output will tell you what I'm using:

evansl_at_evansl-Inspiron-531:~/prog_dev/boost/boost-modular/modular-boost$
git log -g
commit 5e1543bb9f96f8fbf08f19ed05522c0cf9c48cdd
Reflog: HEAD@{0} (cppljevans <cppljevans_at_[hidden]>)
Reflog message: pull: Fast-forward
Author: Automated Commit <automated_at_[hidden]>
Date: Fri Apr 25 13:00:12 2014 -0400

     Update intrusive from master.

commit 31e07090a4d89038d0fa3da5e7ea82b313b6e23a
Reflog: HEAD@{1} (cppljevans <cppljevans_at_[hidden]>)
Reflog message: checkout: moving from master to master
Author: Automated Commit <automated_at_[hidden]>
Date: Wed Apr 23 18:30:07 2014 -0400

     Update container from master.

commit 31e07090a4d89038d0fa3da5e7ea82b313b6e23a
Reflog: HEAD@{2} (cppljevans <cppljevans_at_[hidden]>)
Reflog message: clone: from https://github.com/boostorg/boost.git
Author: Automated Commit <automated_at_[hidden]>
Date: Wed Apr 23 18:30:07 2014 -0400

     Update container from master.
evansl_at_evansl-Inspiron-531:~/prog_dev/boost/boost-modular/modular-boost$

> 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.
>
Made that change with the result shown in the attachment.

The error about missing unique_ptr is surprising.
I added an #include <memory> near the top of demangle.cpp and that
solved the problem; however, now getting other errors:

/home/evansl/prog_dev/boost/boost-modular/modular-boost/sandbox/rw/sandbox/boost.actor.dir/boost.actor/src/get_root_uuid.cpp:79:10:
fatal error:
       'boost/actor/detail/algorithm.hpp' file not found
#include "boost/actor/detail/algorithm.hpp"
          ^
1 error generated.

What should be done about this problem?

-regards,
Larry




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk