forked from apache/brpc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
68 lines (51 loc) · 1.62 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
### compile
1. install common deps: git g++ make libssl-dev
2. install gflags protobuf leveldb: libgflags-dev libprotobuf-dev libprotoc-dev protobuf-compiler libleveldb-dev. If you need to statically link leveldb, install libsnappy-dev as well.
3. git clone this repo. cd into the repo and run
```
$ sh config_brpc.sh --headers=/usr/include --libs=/usr/lib
```
4. make
### run example
```
$ cd example/echo_c++
$ make
$ ./echo_server &
$ ./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
### compile
1. download `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`
2. git clone this repo. cd into the repo and run
```
$ sh config_brpc.sh --headers=../../../third-64 --libs=../../../third-64
```
3. make
### run examples with cpu/heap profilers
download `third-64/tcmalloc@tcmalloc_1-7-0-200_PD_BL` and 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