# Libcaf errors

**URL:** <https://community.zeek.org/t/libcaf-errors/3703>\
**Category:** Zeek\
**Created:** [July 11, 2015, 3:34am UTC](https://community.zeek.org/t/libcaf-errors/3703 "2015-07-11T03:34:31Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![M\_P](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@M\_P](https://community.zeek.org/u/M_P)\
**Post date:** [July 11, 2015, 3:34am UTC](https://community.zeek.org/t/libcaf-errors/3703/1 "2015-07-11T03:34:31Z")

</div>

Hi,

Compiling Bro 2.4 with CAF 0.13.2 works fine. However, after updating to CAF 0.14.0, Bro fails to compile with error message:

Scanning dependencies of target broker  
make[3]: Leaving directory `/usr/src/setup/bro/bro-2.4/build' make[3]: Entering directory `/usr/src/setup/bro/bro-2.4/build’  
[5%] Building CXX object aux/broker/CMakeFiles/broker.dir/src/address.cc.o  
[5%] Building CXX object aux/broker/CMakeFiles/broker.dir/src/broker.cc.o  
In file included from /usr/src/setup/bro/bro-2.4/aux/broker/src/[broker.cc](http://broker.cc/):9:0:  
/usr/src/setup/bro/bro-2.4/aux/broker/src/store/result\_type\_info.hh:5:53: fatal error: caf/detail/abstract\_uniform\_type\_info.hpp: No such file or directory  
#include \<caf/detail/abstract\_uniform\_type\_info.hpp\>  
^  
compilation terminated.  
make[3]: \*\*\* [aux/broker/CMakeFiles/broker.dir/src/broker.cc.o] Error 1

From the build, I can see this:

– Found Libcaf: /usr/local/lib/libcaf\_core.so;/usr/local/lib/libcaf\_io.so  
– Found CAF version: 0.14.0

The path of the file “abstract\_uniform\_type\_info.hpp” in CAF 0.14 is:

ls -l /usr/local/include/caf/abstract\_uniform\_type\_info.hpp  
-rw-r–r-- 1 root root 3600 Jul 10 05:15 /usr/local/include/caf/abstract\_uniform\_type\_info.hpp

However, the path of the same file in CAF 0.13.2 is:

/usr/local/include/caf/detail/abstract\_uniform\_type\_info.hpp

The directory “detail” is dropped in CAF 0.14.0

I tried configuring Bro again, this time adding --with-libcaf, but the same error persisted. Since the paths seemed different, I made changes to Bro code to look at the new path. This did not work. I also tried moving “abstract\_uniform\_type\_info.hpp” inside “detail” to mimic CAF 0.13.2, and that also did not work. In both cases 1) code change, and 2) directory change, I ended up with the same error(s):

In file included from /usr/src/setup/bro/bro-2.4/aux/broker/src/broker.cc:11:0:  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected template-name before ‘\<’ token  
class data\_type\_info : public caf::detail::abstract\_uniform\_type\_info {  
^  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected ‘{’ before ‘\<’ token  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected unqualified-id before ‘\<’ token  
/usr/src/setup/bro/bro-2.4/aux/broker/src/broker.cc:178:2: error: expected ‘}’ at end of input  
}  
^  
make[3]: \*\*\* [aux/broker/CMakeFiles/broker.dir/src/broker.cc.o] Error 1  
make[3]: Leaving directory `/usr/src/setup/bro/bro-2.4/build' make[2]: *** [aux/broker/CMakeFiles/broker.dir/all] Error 2 make[2]: Leaving directory `/usr/src/setup/bro/bro-2.4/build’  
make[1]: \*\*\* [all] Error 2  
make[1]: Leaving directory `/usr/src/setup/bro/bro-2.4/build’  
make: \*\*\* [all] Error 2

Actor Framework was configured with:

sudo ./configure --no-examples --no-unit-tests --no-qt-examples --no-protobuf-examples

Bro was configured with:

sudo ./configure --with-pcap=/usr/local/lib --enable-c++11 --enable-broker

and GCC version is

$ gcc --version  
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

I thought of checking with the list if anyone faced the same issue, or whether I should contact the Actor Framework maintainers.

Thanks.  
MP

---

<div class="post-metadata">

**Author:** ![M\_P](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@M\_P](https://community.zeek.org/u/M_P)\
**Post date:** [July 11, 2015, 4:01am UTC](https://community.zeek.org/t/libcaf-errors/3703/2 "2015-07-11T04:01:36Z")

</div>

Sorry if this message is a duplicate. First one did not seem to make it.

Hi,

Compiling Bro 2.4 with CAF 0.13.2 works fine. However, after updating to CAF 0.14.0, Bro fails to compile with error message:

Scanning dependencies of target broker  
make[3]: Leaving directory `/usr/src/setup/bro/bro-2.4/build' make[3]: Entering directory `/usr/src/setup/bro/bro-2.4/build’  
[5%] Building CXX object aux/broker/CMakeFiles/broker.dir/src/address.cc.o  
[5%] Building CXX object aux/broker/CMakeFiles/broker.dir/src/broker.cc.o  
In file included from /usr/src/setup/bro/bro-2.4/aux/broker/src/[broker.cc](http://broker.cc/):9:0:  
/usr/src/setup/bro/bro-2.4/aux/broker/src/store/result\_type\_info.hh:5:53: fatal error: caf/detail/abstract\_uniform\_type\_info.hpp: No such file or directory  
#include \<caf/detail/abstract\_uniform\_type\_info.hpp\>  
^  
compilation terminated.  
make[3]: \*\*\* [aux/broker/CMakeFiles/broker.dir/src/broker.cc.o] Error 1

From the build, I can see this:

– Found Libcaf: /usr/local/lib/libcaf\_core.so;/usr/local/lib/libcaf\_io.so  
– Found CAF version: 0.14.0

The path of the file “abstract\_uniform\_type\_info.hpp” in CAF 0.14 is:

ls -l /usr/local/include/caf/abstract\_uniform\_type\_info.hpp  
-rw-r–r-- 1 root root 3600 Jul 10 05:15 /usr/local/include/caf/abstract\_uniform\_type\_info.hpp

However, the path of the same file in CAF 0.13.2 is:

/usr/local/include/caf/detail/abstract\_uniform\_type\_info.hpp

The directory “detail” is dropped in CAF 0.14.0

I tried configuring Bro again, this time adding --with-libcaf, but the same error persisted. Since the paths seemed different, I made changes to Bro code to look at the new path. This did not work. I also tried moving “abstract\_uniform\_type\_info.hpp” inside “detail” to mimic CAF 0.13.2, and that also did not work. In both cases 1) code change, and 2) directory change, I ended up with the same error(s):

In file included from /usr/src/setup/bro/bro-2.4/aux/broker/src/broker.cc:11:0:  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected template-name before ‘\<’ token  
class data\_type\_info : public caf::detail::abstract\_uniform\_type\_info {  
^  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected ‘{’ before ‘\<’ token  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected unqualified-id before ‘\<’ token  
/usr/src/setup/bro/bro-2.4/aux/broker/src/broker.cc:178:2: error: expected ‘}’ at end of input  
}  
^  
make[3]: \*\*\* [aux/broker/CMakeFiles/broker.dir/src/broker.cc.o] Error 1  
make[3]: Leaving directory `/usr/src/setup/bro/bro-2.4/build' make[2]: *** [aux/broker/CMakeFiles/broker.dir/all] Error 2 make[2]: Leaving directory `/usr/src/setup/bro/bro-2.4/build’  
make[1]: \*\*\* [all] Error 2  
make[1]: Leaving directory `/usr/src/setup/bro/bro-2.4/build’  
make: \*\*\* [all] Error 2

Actor Framework was configured with:

sudo ./configure --no-examples --no-unit-tests --no-qt-examples --no-protobuf-examples

Bro was configured with:

sudo ./configure --with-pcap=/usr/local/lib --enable-c++11 --enable-broker

and GCC version is

$ gcc --version  
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

I thought of checking with the list if anyone faced the same issue, or whether I should contact the Actor Framework maintainers.

Thanks.  
MP

---

<div class="post-metadata">

**Author:** ![M\_P](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@M\_P](https://community.zeek.org/u/M_P)\
**Post date:** [July 11, 2015, 12:17pm UTC](https://community.zeek.org/t/libcaf-errors/3703/3 "2015-07-11T12:17:21Z")

</div>

Sorry if this message is a duplicate. First one did not seem to make it.

Hi,

Compiling Bro 2.4 with CAF 0.13.2 works fine. However, after updating to CAF 0.14.0, Bro fails to compile with error message:

Scanning dependencies of target broker  
make[3]: Leaving directory `/usr/src/setup/bro/bro-2.4/build' make[3]: Entering directory `/usr/src/setup/bro/bro-2.4/build’  
[5%] Building CXX object aux/broker/CMakeFiles/broker.dir/src/address.cc.o  
[5%] Building CXX object aux/broker/CMakeFiles/broker.dir/src/broker.cc.o  
In file included from /usr/src/setup/bro/bro-2.4/aux/broker/src/[broker.cc](http://broker.cc/):9:0:  
/usr/src/setup/bro/bro-2.4/aux/broker/src/store/result\_type\_info.hh:5:53: fatal error: caf/detail/abstract\_uniform\_type\_info.hpp: No such file or directory  
#include \<caf/detail/abstract\_uniform\_type\_info.hpp\>  
^  
compilation terminated.  
make[3]: \*\*\* [aux/broker/CMakeFiles/broker.dir/src/broker.cc.o] Error 1

From the build, I can see this:

– Found Libcaf: /usr/local/lib/libcaf\_core.so;/usr/local/lib/libcaf\_io.so  
– Found CAF version: 0.14.0

The path of the file “abstract\_uniform\_type\_info.hpp” in CAF 0.14 is:

ls -l /usr/local/include/caf/abstract\_uniform\_type\_info.hpp  
-rw-r–r-- 1 root root 3600 Jul 10 05:15 /usr/local/include/caf/abstract\_uniform\_type\_info.hpp

However, the path of the same file in CAF 0.13.2 is:

/usr/local/include/caf/detail/abstract\_uniform\_type\_info.hpp

The directory “detail” is dropped in CAF 0.14.0

I tried configuring Bro again, this time adding --with-libcaf, but the same error persisted. Since the paths seemed different, I made changes to Bro code to look at the new path. This did not work. I also tried moving “abstract\_uniform\_type\_info.hpp” inside “detail” to mimic CAF 0.13.2, and that also did not work. In both cases 1) code change, and 2) directory change, I ended up with the same error(s):

In file included from /usr/src/setup/bro/bro-2.4/aux/broker/src/broker.cc:11:0:  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected template-name before ‘\<’ token  
class data\_type\_info : public caf::detail::abstract\_uniform\_type\_info {  
^  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected ‘{’ before ‘\<’ token  
/usr/src/setup/bro/bro-2.4/aux/broker/src/data\_type\_info.hh:14:70: error: expected unqualified-id before ‘\<’ token  
/usr/src/setup/bro/bro-2.4/aux/broker/src/broker.cc:178:2: error: expected ‘}’ at end of input  
}  
^  
make[3]: \*\*\* [aux/broker/CMakeFiles/broker.dir/src/broker.cc.o] Error 1  
make[3]: Leaving directory `/usr/src/setup/bro/bro-2.4/build' make[2]: *** [aux/broker/CMakeFiles/broker.dir/all] Error 2 make[2]: Leaving directory `/usr/src/setup/bro/bro-2.4/build’  
make[1]: \*\*\* [all] Error 2  
make[1]: Leaving directory `/usr/src/setup/bro/bro-2.4/build’  
make: \*\*\* [all] Error 2

Actor Framework was configured with:

sudo ./configure --no-examples --no-unit-tests --no-qt-examples --no-protobuf-examples

Bro was configured with:

sudo ./configure --with-pcap=/usr/local/lib --enable-c++11 --enable-broker

and GCC version is

$ gcc --version  
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

I thought of checking with the list if anyone faced the same issue, or whether I should contact the Actor Framework maintainers.

Thanks.  
MP

---

<div class="post-metadata">

**Author:** ![Matthias\_Vallentin1](https://yyz1.discourse-cdn.com/flex011/user_avatar/community.zeek.org/matthias_vallentin1/32/596_2.png) [@Matthias\_Vallentin1](https://community.zeek.org/u/Matthias_Vallentin1)\
**Post date:** [July 11, 2015, 7:26pm UTC](https://community.zeek.org/t/libcaf-errors/3703/4 "2015-07-11T19:26:40Z")

</div>

As of CAF 0.14, caf::detail::abstract\_uniform\_type\_info is no longer  
considered an implementation detail and has therefore been hoisted to  
the parent namespace.

I've pushed the necessary fixes to the branch topic/caf-0.14-fix (which  
also get rid of the deprecated sb\_actor warnings and a compile error on  
OSX). Please give it a shot to see whether it works for you now.

Jon, if that looks fine to you, feel free to merge.

&nbsp;&nbsp;&nbsp;&nbsp;Matthias

---

<div class="post-metadata">

**Author:** ![M\_P](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@M\_P](https://community.zeek.org/u/M_P)\
**Post date:** [July 11, 2015, 7:50pm UTC](https://community.zeek.org/t/libcaf-errors/3703/5 "2015-07-11T19:50:06Z")

</div>

Thank you Matthias for quickly jumping into this.

Is the branch pushed already? I am not able to locate it yet. I will wait some time and try again and will update with my results.

Thanks again.  
MP

---

<div class="post-metadata">

**Author:** ![Matthias\_Vallentin1](https://yyz1.discourse-cdn.com/flex011/user_avatar/community.zeek.org/matthias_vallentin1/32/596_2.png) [@Matthias\_Vallentin1](https://community.zeek.org/u/Matthias_Vallentin1)\
**Post date:** [July 12, 2015, 4:29pm UTC](https://community.zeek.org/t/libcaf-errors/3703/6 "2015-07-12T16:29:08Z")

</div>

> Is the branch pushed already? I am not able to locate it yet. I will wait  
> some time and try again and will update with my results.

Yes, I pushed it immediately:

&nbsp;&nbsp;&nbsp;&nbsp;[https://github.com/bro/broker/tree/topic/caf-0.14-fix](https://github.com/bro/broker/tree/topic/caf-0.14-fix)

Let me know how it works.

&nbsp;&nbsp;&nbsp;&nbsp;Matthias

---

<div class="post-metadata">

**Author:** ![M\_P](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@M\_P](https://community.zeek.org/u/M_P)\
**Post date:** [July 12, 2015, 6:25pm UTC](https://community.zeek.org/t/libcaf-errors/3703/7 "2015-07-12T18:25:29Z")

</div>

> \> Is the branch pushed already? I am not able to locate it yet. I will wait  
> \> some time and try again and will update with my results.
> 
> Yes, I pushed it immediately:
> 
> &nbsp;&nbsp;&nbsp;&nbsp;[https://github.com/bro/broker/tree/topic/caf-0.14-fix](https://github.com/bro/broker/tree/topic/caf-0.14-fix)

Ah, it is under Bro's repo; I was looking in the Actor Framework repo.  
Thanks for pointing this out.

> Let me know how it works.

Bro compiled successfully with the fix you provided. Here is what I did for  
sanity checking and as a reference if somebody else faces the same issue.

1. Cloned the Actor Frame (0.14.0) again and deleted the old one (0.13.2)

2. Cloned Broker and merged the caf-0.14-fix branch:

&nbsp;&nbsp;&nbsp;git clone [GitHub - bro/broker: Bro's Messaging Library](https://github.com/bro/broker.git)  
&nbsp;&nbsp;&nbsp;git pull origin topic/caf-0.14-fix

3. Copied the contents of the just cloned/merged broker fix branch into  
Bro's broker directory (this and step 2 could have been done directly using  
git, but not sure how 🙂 ):

&nbsp;&nbsp;&nbsp;&nbsp;cp -r broker/\* bro-2.4/aux/broker/

4. Compile Bro successfully.

&nbsp;&nbsp;&nbsp;&nbsp;ldd /usr/local/bro/bon/bro

&nbsp;&nbsp;&nbsp;...  
&nbsp;&nbsp;&nbsp;libcaf\_io.so.0.14.0 =\> /usr/local/lib/libcaf\_io.so.0.14.0  
(0x00007fcccc6fb000)  
&nbsp;&nbsp;&nbsp;...

> &nbsp;&nbsp;&nbsp;&nbsp;Matthias

Thank you Matthias.  
MP

---

<div class="post-metadata">

**Author:** ![Matthias\_Vallentin1](https://yyz1.discourse-cdn.com/flex011/user_avatar/community.zeek.org/matthias_vallentin1/32/596_2.png) [@Matthias\_Vallentin1](https://community.zeek.org/u/Matthias_Vallentin1)\
**Post date:** [July 12, 2015, 8:15pm UTC](https://community.zeek.org/t/libcaf-errors/3703/8 "2015-07-12T20:15:36Z")

</div>

> Bro compiled successfully with the fix you provided.

Good to know, we'll integrate the fix then.

> 3. Copied the contents of the just cloned/merged broker fix branch into  
> Bro's broker directory (this and step 2 could have been done directly using  
> git, but not sure how 🙂 ):

Once we've updated the submodules in the Bro repo, this will no longer  
be necessary. (Instead of copying, another ad-hoc fix would simply  
involve changing the SHA of the broker submodule and then update your  
submodules again.)

&nbsp;&nbsp;&nbsp;&nbsp;Matthias

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/zeek/original/1X/f09d732bc2cc7c7cc7e35db67cf4e1d5233ce7a7.png) [@system](https://community.zeek.org/u/system)\
**Post date:** [May 6, 2022, 3:42pm UTC](https://community.zeek.org/t/libcaf-errors/3703/9 "2022-05-06T15:42:51Z")

</div>

Closed on May 6, 2022, 3:42pm UTC


