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@lists.boost.org] on behalf of Larry Evans [cppljevans@suddenlink.net] Sent: Thursday, May 15, 2014 22:39 To: boost@lists.boost.org 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 $