erpc-io / eRPC

Efficient RPCs for datacenter networks
https://erpc.io/
Other
835 stars 137 forks source link

Projects using new version eRPC can not compile #67

Closed Dicridon closed 2 years ago

Dicridon commented 2 years ago

Hi Anuj Kalia, eRPC is an impressive work and we really benefitted from it. But an issue is that, after we noticed that eRPC was updated, we cloned the latest version from eRPC-master and found that we can not compile our project anymore. Compiler throws errors as bellow: fatal error: asio/ts/internet.hpp: No such file or directory

Building eRPC

We configure eRPC with -DROCE=on -DTRANSPORT=infiniband -DPERF=on -DCONFIG_IS_AZURE=0 and compile it with make -j. After compilation everything is OK and we have a liberpc.a file. No errors are reported.

Building our project

Following flags are added to our compiler -Ithird-party/eRPC-master/src -Ithird-party/eRPC-build -DERPC_INFINIBAND=true -DROCE=true. These flags works for previous version eRPC but not current version.

Compiler version

Both g++ 8.3.1 and clang++ 7.0.1 fail to compile current eRPC but both works for previous version.

eRPC versions

The last commit of the runnale eRPC we use is 80e408c974bb24e0ef411927d2db82d273576bab Current eRPC is eRPC-master

anujkaliaiitd commented 2 years ago

Thanks for the detailed information. I think you can fix this by adding eRPC's third_party/asio/include to your include directories. I will patch the hello_world example to reflect this new requirement.

Dicridon commented 2 years ago

Thanks for your reply, eRPC works now!

I have to confess I made a silly mistake before I posted this issue. I added third-party/asio/include instead of third_party/asio/include to my include path, so the whole project just won't compile.

anujkaliaiitd commented 2 years ago

Fixed in https://github.com/erpc-io/eRPC/commit/3387f8dcad742d01c7664182483b972d18d546f5

kyleshu commented 2 years ago

just want to remind the fix should also be added for infiniband : )