The opensource version of baidu-rpc
# BUILD
### Ubuntu/LinuxMint/WSL
**install deps**  
Common: sudo apt-get install git g++ make  
gflags: sudo apt-get install libgflags-dev  
protobuf: sudo apt-get install libprotobuf-dev libprotoc-dev protobuf-compiler  
leveldb(used by rpcz): sudo apt-get install libleveldb-dev libsnappy-dev  
openssl(for https): libssl-dev  
**compile**  
git clone this repo. cd into the repo and run: sh config_brpc.sh --headers=/usr/include --libs=/usr/lib  
**run echo example**  
cd into example/echo_c++, make, run echo_server and echo_client  
**run examples with cpu/heap profilers**  
sudo apt-get install libgoogle-perftools-dev libunwind-dev liblzma-dev  
Rerun config_brpc.sh  
**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  
