2019-04-14 20:29:20 +08:00
|
|
|
### Compilation
|
|
|
|
#### Step 1: install necessery tools
|
2019-04-14 20:21:07 +08:00
|
|
|
|
2019-04-23 10:10:20 +08:00
|
|
|
centos7 :
|
2019-07-04 14:47:23 +08:00
|
|
|
yum install gfortran qt4 flex bison mysql-devel mysql
|
2019-04-23 10:10:20 +08:00
|
|
|
|
|
|
|
ubuntu16.04 :
|
2019-07-04 14:47:23 +08:00
|
|
|
sudo apt-get install gfortran qt4-qmake flex bison libmysqlclient-dev mysql-client
|
2019-07-17 13:48:29 +08:00
|
|
|
|
|
|
|
cd scripts && sudo ./requirements.sh
|
2019-06-24 16:44:05 +08:00
|
|
|
|
|
|
|
If `libmysqlclient_r.so` does not exist after installing MySQL Development Files, you need to create a symbolic link:
|
|
|
|
|
|
|
|
```
|
|
|
|
sudo ln -s /path/to/libmysqlclient.so /path/to/libmysqlclient_r.so
|
|
|
|
```
|
2019-04-14 20:21:07 +08:00
|
|
|
|
2019-06-12 11:05:33 +08:00
|
|
|
#### Step 2: build(output to cmake_build folder)
|
2019-06-24 16:44:05 +08:00
|
|
|
|
2019-06-14 17:29:29 +08:00
|
|
|
cmake_build/src/milvus_server is the server
|
2019-04-14 20:29:20 +08:00
|
|
|
|
2019-06-14 17:29:29 +08:00
|
|
|
cmake_build/src/libmilvus_engine.a is the static library
|
2019-04-14 20:21:07 +08:00
|
|
|
|
2019-07-04 14:47:23 +08:00
|
|
|
git submodule init
|
|
|
|
git submodule update
|
|
|
|
|
2019-04-14 20:21:07 +08:00
|
|
|
cd [sourcecode path]/cpp
|
|
|
|
./build.sh -t Debug
|
|
|
|
./build.sh -t Release
|
2019-06-17 19:29:51 +08:00
|
|
|
./build.sh -l -t Release # Build license version(only available for Release)
|
2019-06-12 11:05:33 +08:00
|
|
|
|
|
|
|
If you encounter the following error when building:
|
|
|
|
`protocol https not supported or disabled in libcurl`
|
|
|
|
|
|
|
|
1. Install libcurl4-openssl-dev
|
|
|
|
|
|
|
|
2. Install cmake 3.14:
|
|
|
|
|
|
|
|
```
|
|
|
|
./bootstrap --system-curl
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
```
|
|
|
|
|
2019-04-14 20:29:20 +08:00
|
|
|
#### To build unittest:
|
2019-06-12 11:05:33 +08:00
|
|
|
|
2019-04-14 20:21:07 +08:00
|
|
|
./build.sh -u
|
|
|
|
or
|
|
|
|
./build.sh --unittest
|
2019-06-12 11:05:33 +08:00
|
|
|
|
2019-06-28 18:25:57 +08:00
|
|
|
#### To run code coverage
|
|
|
|
|
|
|
|
apt-get install lcov
|
|
|
|
./build.sh -u -c
|
|
|
|
|
2019-05-15 17:28:02 +08:00
|
|
|
### Launch server
|
2019-04-14 20:21:07 +08:00
|
|
|
Set config in cpp/conf/server_config.yaml
|
2019-04-14 20:29:20 +08:00
|
|
|
|
2019-07-04 14:47:23 +08:00
|
|
|
Add milvus/lib to LD_LIBRARY_PATH
|
2019-06-30 15:58:22 +08:00
|
|
|
|
|
|
|
```
|
2019-07-04 14:47:23 +08:00
|
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/milvus/lib
|
2019-06-30 15:58:22 +08:00
|
|
|
```
|
|
|
|
|
2019-05-15 17:28:02 +08:00
|
|
|
Then launch server with config:
|
2019-04-18 17:26:03 +08:00
|
|
|
cd [build output path]
|
|
|
|
start_server.sh
|
|
|
|
stop_server.sh
|
2019-04-14 19:59:17 +08:00
|
|
|
|
2019-05-15 17:28:02 +08:00
|
|
|
### Launch test_client(only for debug)
|
2019-04-17 12:15:12 +08:00
|
|
|
If you want to test remote api, you can build test_client.
|
|
|
|
test_client use same config file with server:
|
2019-06-12 11:05:33 +08:00
|
|
|
|
2019-04-16 12:03:33 +08:00
|
|
|
cd [build output path]/test_client
|
|
|
|
test_client -c [sourcecode path]/cpp/conf/server_config.yaml
|
|
|
|
|
2019-05-15 17:28:02 +08:00
|
|
|
### License Generate
|
|
|
|
Use get_sys_info to get system info file.
|
|
|
|
|
|
|
|
./get_sys_info # system.info will be generated
|
|
|
|
|
|
|
|
Use license_generator to generate license file.
|
|
|
|
|
|
|
|
./license_generator -s system.info -l system.license -b 2019-05-15 -e 2019-08-14
|
|
|
|
|
|
|
|
Copy the license file to path assigned by license_path in server config file.
|