erpc-io / eRPC

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

App masstree_analytics won't compile #76

Closed Dicridon closed 2 years ago

Dicridon commented 2 years ago

Hi Anuj We are working on an application that needs fast RPC and thank you for opening-source eRPC! We are trying to run some of the apps included in eRPC for benchmarking but unluckily we fail to compile app masstree_analytics.

The error message was about the linker /usr/bin/ld: cannot find -lmasstree. We checked the CMakeList.txt and noticed that eRPC was expecting a Masstree library under the masstree-beta directory, but actually what was generated was several Masstree binaries.

We compile the apps following the instructions in the README.md

  1. create an autorun_app_file under ./scripts and wrote masstree_analytics in it.
  2. generate a Makefile using cmake . -DTRANSPORT=infiniband -DROCE=on -DCONFIG_IS_AZURE=0. This step works fine and we have a Makefile.
  3. use make to compile the project and then get the error message from linker (these instructions work well for the latency app) We checked masstree-beta and found no library file, so we manually built masstree following its Readme but got only several binaries.

Can you please give some suggestions to us? Maybe we missed some parameters or steps?

Thank you so much!

anujkaliaiitd commented 2 years ago

Hi. Thank you for trying out eRPC. I'm happy to help.

The instructions don't mention this, but for this application we need to first build libmasstree.a, like so:

cd third_party/masstree-beta
cmake .
make -j
Dicridon commented 2 years ago

Thank you so much for your reply, the apps are working!

For other people who are also trying to compile masstree, if you have run the configure file, please make sure the masstree directory is clean and then run cmake . && make -j.