Hi Waikiki, Did fixing the -I flag solve your problem?
FWIW, if you compile with -DKJ_USE_EPOLL=0, then Cap'n Proto will revert to using a portable poll()-based event loop which does not use signalfd. That should "just work" -- however, you'll need to compile all apps with -DKJ_USE_EPOLL=0 as well (if they use RPC / kj-async). -Kenton On Tue, Jul 5, 2016 at 2:54 PM, Waikiki Yeh <[email protected]> wrote: > Stupid me. > > The include path via -I was causing the string.h from kj to be included > ahead of string.h from system directory. > > > > On Tuesday, July 5, 2016 at 5:46:19 AM UTC-5, Waikiki Yeh wrote: >> >> Hello, >> >> I am testing out using capnp for serialization only on an older Linux >> distro (namely Red Hat 5). Running make directly would lead to failure on >> signalfd.h not being found as expected. Looking at the docs on the web, >> configure.ac, Makefile.am, and the generated Makefile, it seems that the >> serialization part resides on capnp, capnp-c++, capnpc-capnp, ibcapnp.la, >> libcapnpc.la, libkj.la, and the shared objects. >> >> I then proceeds to copy the headers and binary to a different directory. >> Using the AddressBook example on capnp website, I was able to generate the >> .c++ and .h file from it. However, when I try to include the capnp >> generated .h file and compile a simple test with the following command: >> >> " g++ -v -std=c++11 -o my_test my_test.cpp my_test.capnp.c++ >> -I<path_to_capnp>/include -I<path_to_capnp>/include/kj" >> >> all hell broke loose and I got all kinds of error on memcpy, strlen, >> memset in capnp headers being not a member of std. An exact error looks like >> >> "layout.h:1084:3: error: 'memcpy' is not a member of 'std' >> std::memcpy(&tag, &other.tag, sizeof(tag)); // Needs memcpy to comply >> with aliasing rules." >> >> The g++ is 4.8.1. Sorry for being somewhat vague, I am not sure which >> information is relevant and which is not. Greatly appreciate if anyone can >> point to a direction for debugging. Thanks. >> >> W.K Yeh >> >> >> >> >> -- > You received this message because you are subscribed to the Google Groups > "Cap'n Proto" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > Visit this group at https://groups.google.com/group/capnproto. > -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/capnproto.
