error compiling master

Probably obvious but I am not very sure so asking here.

I see this error trying to build current master - Thoughts what am I missing ?

(trying the build on: FreeBSD 10.3-STABLE)

I am building as:

./configure --prefix=/usr/local/bro-master && make

<snip>
..
..

gmake[6]: Leaving directory '/usr/local/src/master/build/aux/broker/caf-build'
gmake[6]: Entering directory '/usr/local/src/master/build/aux/broker/caf-build'
[ 96%] Building CXX object libcaf_openssl/CMakeFiles/libcaf_openssl_shared.dir/src/manager.cpp.o
clang: warning: argument unused during compilation: '-L/lib'
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:100:8: error: use of undeclared identifier 'get_or'
  if (!get_or(config(), "middleman.attach-utility-actors", false))
       ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:102:14: error: calling a private constructor of class 'caf::typed_actor<caf::typed_mpi<caf::detail::type_list<caf::atom_constant<69675774307885>, unsigned short, caf::intrusive_ptr<caf::actor_control_block>,
      std::__1::set<std::__1::basic_string<char>, std::__1::less<std::__1::basic_string<char> >, std::__1::allocator<std::__1::basic_string<char> > >, std::__1::basic_string<char>, bool>, caf::output_tuple<unsigned short> >, caf::typed_mpi<caf::detail::type_list<caf::atom_constant<265509555>, unsigned short,
      std::__1::basic_string<char>, bool>, caf::output_tuple<unsigned short> >, caf::typed_mpi<caf::detail::type_list<caf::atom_constant<68776180492857>, std::__1::basic_string<char>, unsigned short>, caf::output_tuple<caf::node_id, caf::intrusive_ptr<caf::actor_control_block>,
      std::__1::set<std::__1::basic_string<char>, std::__1::less<std::__1::basic_string<char> >, std::__1::allocator<std::__1::basic_string<char> > > > >, caf::typed_mpi<caf::detail::type_list<caf::atom_constant<286769531740155437>, caf::actor_addr, unsigned short>, caf::output_tuple<void> >,
      caf::typed_mpi<caf::detail::type_list<caf::atom_constant<16790277674>, unsigned short>, caf::output_tuple<void> >, caf::typed_mpi<caf::detail::type_list<caf::atom_constant<17059704627>, caf::node_id, std::__1::basic_string<char>, caf::message, std::__1::set<std::__1::basic_string<char>,
      std::__1::less<std::__1::basic_string<char> >, std::__1::allocator<std::__1::basic_string<char> > > >, caf::output_tuple<caf::intrusive_ptr<caf::actor_control_block> > >, caf::typed_mpi<caf::detail::type_list<caf::atom_constant<4115129>, caf::node_id>, caf::output_tuple<caf::node_id,
      std::__1::basic_string<char>, unsigned short> > >'
  manager_ = nullptr;
             ^
/usr/local/include/caf/typed_actor.hpp:270:3: note: declared private here
  typed_actor(actor_control_block* ptr) : ptr_(ptr) {
  ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:112:27: error: no member named 'openssl_certificate' in 'caf::actor_system_config'
    if (system().config().openssl_certificate.size() == 0)
        ~~~~~~~~~~~~~~~~~ ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:114:27: error: no member named 'openssl_key' in 'caf::actor_system_config'
    if (system().config().openssl_key.size() == 0)
        ~~~~~~~~~~~~~~~~~ ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:131:10: error: use of undeclared identifier 'openssl_manager'; did you mean 'opencl_manager'?
  return openssl_manager;
         ^~~~~~~~~~~~~~~
         opencl_manager
/usr/local/include/caf/actor_system.hpp:140:7: note: 'opencl_manager' declared here
      opencl_manager,
      ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:140:14: error: no member named 'openssl_certificate' in 'caf::actor_system_config'
  return cfg.openssl_certificate.size() > 0 || cfg.openssl_key.size() > 0
         ~~~ ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:140:52: error: no member named 'openssl_key' in 'caf::actor_system_config'
  return cfg.openssl_certificate.size() > 0 || cfg.openssl_key.size() > 0
                                               ~~~ ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:141:17: error: no member named 'openssl_passphrase' in 'caf::actor_system_config'
         >> cfg.openssl_passphrase.size() > 0 || cfg.openssl_capath.size() > 0
            ~~~ ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:141:54: error: no member named 'openssl_capath' in 'caf::actor_system_config'
         >> cfg.openssl_passphrase.size() > 0 || cfg.openssl_capath.size() > 0
                                                 ~~~ ^
/usr/local/src/master/aux/broker/3rdparty/caf/libcaf_openssl/src/manager.cpp:142:17: error: no member named 'openssl_cafile' in 'caf::actor_system_config'
         >> cfg.openssl_cafile.size() > 0;
            ~~~ ^
10 errors generated.
gmake[6]: *** [libcaf_openssl/CMakeFiles/libcaf_openssl_shared.dir/build.make:63: libcaf_openssl/CMakeFiles/libcaf_openssl_shared.dir/src/manager.cpp.o] Error 1
gmake[6]: Leaving directory '/usr/local/src/master/build/aux/broker/caf-build'
gmake[5]: *** [CMakeFiles/Makefile2:394: libcaf_openssl/CMakeFiles/libcaf_openssl_shared.dir/all] Error 2
gmake[5]: Leaving directory '/usr/local/src/master/build/aux/broker/caf-build'
gmake[4]: *** [Makefile:128: all] Error 2
gmake[4]: Leaving directory '/usr/local/src/master/build/aux/broker/caf-build'
*** Error code 2

Stop.
make[3]: stopped in /usr/local/src/master/build
*** Error code 1

Stop.
make[2]: stopped in /usr/local/src/master/build
*** Error code 1

Stop.
make[1]: stopped in /usr/local/src/master/build
*** Error code 1

Stop.
make: stopped in /usr/local/src/master

Was master (after the broker merge) previously working on this same machine?

It works for me on 10.4-RELEASE. Maybe you could try "make distclean"
and "git pull" and try again.

HI Daniel,

Was master (after the broker merge) previously working on this same machine?

Nah! just building from scratch first time. Previously I was/am running bro-2.5.3 on this
host.

Same error when tried on another 10.3-STABLE release.

Aashish

This is at least an odd error if it were actually finding the CAF
headers that are embedded in the Bro source tree, so a guess is that
you have an old version of CAF (AKA actor-framework or libcaf)
installed in a system directory and it is finding those instead. Can
you check? A specific header file in question here would be
"caf/config_value.hpp".

And for reference, building on a fresh FreeBSD 10.3 system +
bro/master checkout worked for me just now, which may also suggest a
problem in the system setup (or else an inconsistent Bro
checkout/configuration, but it seems like we are both starting from a
fresh clone).

- Jon

Jon,

you have an old version of CAF (AKA actor-framework or libcaf)

Yes, that was the issue. I didn't realize I already had caf on this from Jan
2017. Thank you.

root@box:# pkg info |fgrep caf
caf-0.15.3 C++ actor framework

Removing this, lets me build bro now.

Thanks for the pointer.

Aashish