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-22 12:03:05


On 05/16/14 00:12, Charousset, Dominik wrote:
> Yes, you need to create link libraries for those libraries. You could strip the Boost.Thread dependency from the CMake file (as long as you have the headers), because Boost.Actor only needs some header-only parts from Boost.Thread. For the other libraries, you need to have a compiled library.
>
> ________________________________________
> From: Boost [boost-bounces_at_[hidden]] on behalf of Larry Evans [cppljevans_at_[hidden]]
> Sent: Thursday, May 15, 2014 22:39
> To: boost_at_[hidden]
> Subject: Re: [boost] Is there any interest in a library for actor programming?
>
> On 05/15/14 15:14, Larry Evans wrote:
[snip]
>> The following Boost libraries could not be found:
>>
>> boost_system
>> boost_context
>> boost_coroutine
>> boost_thread
>>
> to the
>> directory containing Boost libraries or BOOST_ROOT to the location of
>> Boost.
>
> Do I need to create a link library for each of these boost libraries?
> I assumed the above error messages meant it could find the include files
> for the libraries, but I noticed system and context have build/Jamfiles
> which, after a brief glance, look like they create a link library.
>
I created the boost libraries and tried the boost.actor configure again
and it worked. However, the subsequent make failed because compiler
could not find memcmp, as shown by the terminal session at the end of
this post. Note that I did do a `git diff` which showed the only'
difference was in the ./configure. Also, there were several
warnings.

Is there something I should do to get the make to work?

TIA.

-regards,
Larry

------------ the terminal session -------------:

~/prog_dev/boost/sandbox/boost.actor.dir $ . boost.actor.configure.sh
("BOOST_ROOT="
"/home/evansl/prog_dev/boost/boost-modular/modular-boost/install")
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found g++ version 4.8

-- Looking for C++ include valgrind/valgrind.h
-- Looking for C++ include valgrind/valgrind.h - found
-- Build type:
-- Boost version: 1.56.0
-- Found the following Boost libraries:
-- system
-- context
-- coroutine
-- thread
-- Boost version: 1.56.0
-- Found the following Boost libraries:
-- program_options
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

====================| Build Summary |====================

Build type: RelWithDebInfo
Debug mode: no
Log level: none
Context switching: yes
Valgrind: yes
Build examples: yes
Build unit tests: yes
Build static: no
Bulid static only: no
Build OpenCL: no
With mem. mgmt.: yes

CXX: /usr/bin/c++
CXXFLAGS: -std=c++11 -Wextra -Wall -pedantic
-ftemplate-backtrace-limit=0 -pthread -O2 -g
LD_DIRS:
/home/evansl/prog_dev/boost/boost-modular/modular-boost/install/lib
LIBRARIES:
/home/evansl/prog_dev/boost/boost-modular/modular-boost/install/lib/libboost_coroutine.so;/home/evansl/prog_dev/boost/boost-modular/modular-boost/install/lib/libboost_context.so;/home/evansl/prog_dev/boost/boost-modular/modular-boost/install/lib/libboost_system.so

Source directory:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor
Build directory:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build
Executable path:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build/bin
Library path:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build/lib
Install prefix: /usr/local

Boost:
/home/evansl/prog_dev/boost/boost-modular/modular-boost/install/include

===========================================================

-- Configuring done
-- Generating done
-- Build files have been written to:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build
~/prog_dev/boost/sandbox/boost.actor.dir $ cd boost.actor
~/prog_dev/boost/sandbox/boost.actor.dir/boost.actor $ make
make[1]: Entering directory
`/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
make[2]: Entering directory
`/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
make[3]: Entering directory
`/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
Scanning dependencies of target libboost_actor
make[3]: Leaving directory
`/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
make[3]: Entering directory
`/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/build'
[ 0%] Building CXX object
CMakeFiles/libboost_actor.dir/src/middleman_event_handler_epoll.cpp.o
[ 1%] Building CXX object
CMakeFiles/libboost_actor.dir/src/abstract_actor.cpp.o
[ 2%] Building CXX object
CMakeFiles/libboost_actor.dir/src/abstract_channel.cpp.o
[ 3%] Building CXX object
CMakeFiles/libboost_actor.dir/src/abstract_group.cpp.o
In file included from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/all.hpp:34:0,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/src/abstract_group.cpp:31:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/on.hpp:303:2:
warning: extra ';' [-Wpedantic]
  };
   ^
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/on.hpp:309:2:
warning: extra ';' [-Wpedantic]
  };
   ^
[ 4%] Building CXX object
CMakeFiles/libboost_actor.dir/src/abstract_tuple.cpp.o
[ 4%] Building CXX object CMakeFiles/libboost_actor.dir/src/acceptor.cpp.o
[ 5%] Building CXX object CMakeFiles/libboost_actor.dir/src/actor.cpp.o
In file included from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/continue_helper.hpp:36:0,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/typed_continue_helper.hpp:34,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/typed_behavior.hpp:36,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/typed_actor.hpp:38,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/spawn_fwd.hpp:38,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/local_actor.hpp:44,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/src/actor.cpp:37:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/on.hpp:303:2:
warning: extra ';' [-Wpedantic]
  };
   ^
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/on.hpp:309:2:
warning: extra ';' [-Wpedantic]
  };
   ^
In file included from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/system_messages.hpp:40:0,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/detail/response_handle_util.hpp:36,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/response_handle.hpp:44,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/blocking_actor.hpp:42,
                  from
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/src/actor.cpp:38:
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/io/buffer.hpp:
In function 'bool boost::actor::io::operator==(const
boost::actor::io::buffer&, const boost::actor::io::buffer&)':
/home/evansl/prog_dev/boost/sandbox/boost.actor.dir/boost.actor/./boost/actor/io/buffer.hpp:237:57:
error: 'memcmp' was not declared in this scope
          return memcmp(lhs.data(), rhs.data(), lhs.size()) == 0;
                                                          ^
make[3]: *** [CMakeFiles/libboost_actor.dir/src/actor.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 $ git branch -a
* master
   remotes/origin/HEAD -> origin/master
   remotes/origin/gh-pages
   remotes/origin/master
~/prog_dev/boost/sandbox/boost.actor.dir/boost.actor $ git diff
WARNING: terminal is not fully functional
- (press RETURN)
diff --git a/configure b/configure
index 71f6b42..d99231a 100755
--- a/configure
+++ b/configure
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
  # Convenience wrapper for easily viewing/setting options that
  # the project's CMake scripts will recognize.

~/prog_dev/boost/sandbox/boost.actor.dir/boost.actor $


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