The opensource version of baidu-rpc # BUILD baidu-rpc prefers static linking if possible, so that deps don't have to be installed on every machine running the code. ### Ubuntu/LinuxMint/WSL **install common deps** Including: git g++ make libssl-dev **install gflags protobuf leveldb** Including: libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev If you need to statically link leveldb, install libsnappy-dev as well. **compile** git clone this repo. cd into the repo and run: sh config_brpc.sh --headers=/usr/include --libs=/usr/lib **run example** cd into example/echo_c++, make, run echo_server and echo_client **run examples with cpu/heap profilers** Install libgoogle-perftools-dev and re-run config_brpc.sh before compiling **compile tests** Install gmock and gtest, use the gtest embedded in gmock and don't install libgtest-dev sudo apt-get install google-mock; cd /usr/src; sudo cmake .; sudo make; sudo mv lib*.a gtest/lib*.a /usr/lib; sudo mv gtest/include/gtest /usr/include/ Rerun config_brpc.sh and run make in test/ ### Baidu-internal **setup directories** download deps: third-64/gflags@gflags_2-0-0-100_PD_BL third-64/protobuf@protobuf_2-4-1-1100_PD_BL third-64/leveldb@leveldb_1-0-0-0_PD_BL **compile** git clone this repo. cd into the repo and run: sh config_brpc.sh --headers=../../../third-64 --libs=../../../third-64 **run examples with cpu/heap profilers** download deps: third-64/tcmalloc@tcmalloc_1-7-0-200_PD_BL Rerun config_brpc.sh # Supported deps GCC: 4.8-7.1 Clang: 3.5-4.0 glibc: 2.12-2.25 protobuf: 2.4-3.2 gflags: 2.0-2.21 openssl: 0.97-1.1 tcmalloc: 1.7-2.5