milvus/cpp
starlord 75e1fa90e1 for jenkins build
Former-commit-id: fa78b4d2201879fd6fe2619d2b0e498c5f9bf433
2019-08-14 17:09:33 +08:00
..
cmake add new interface definition 2019-08-13 15:37:16 +08:00
conf Merge branch 'branch-0.3.1' into branch-0.4.0 2019-08-07 17:30:16 +08:00
scripts rename milvus_grpc_server to milvus_server 2019-08-13 17:29:13 +08:00
src Merge branch 'branch-0.4.0' into 'branch-0.4.0' 2019-08-13 20:29:24 +08:00
thirdparty remove knowhere submodule 2019-08-14 10:37:38 +08:00
unittest MS-348 Add ResourceFactory Test 2019-08-13 20:18:21 +08:00
.gitignore for jenkins build 2019-08-14 17:09:33 +08:00
build.sh for jenkins build 2019-08-14 17:09:33 +08:00
CHANGELOG.md fix conflict 2019-08-14 14:46:30 +08:00
CMakeLists.txt milvus default version 0.4.0 2019-08-14 15:25:50 +08:00
coverage.sh Merge branch 'branch-0.3.1' into branch-0.3.1-yuncong 2019-07-14 01:28:17 +08:00
LICENSE.txt Add LICENSE.txt and RELEASE.md 2019-04-14 20:12:34 +08:00
Milvus-EULA-cn.md Add Milvus EULA 2019-07-13 23:53:15 +08:00
Milvus-EULA-en.md Add Milvus EULA 2019-07-13 23:53:15 +08:00
README.md MS-350 remove submodule 2019-08-14 14:44:50 +08:00
RELEASE.md Add LICENSE.txt and RELEASE.md 2019-04-14 20:12:34 +08:00
start_server.sh rename milvus_grpc_server to milvus_server 2019-08-13 17:29:13 +08:00
stop_server.sh remove old names from source code 2019-06-14 17:29:29 +08:00
version.h.macro remove old names from source code 2019-06-14 17:29:29 +08:00

Compilation

Step 1: install necessery tools

centos7 : 
    yum install gfortran qt4 flex bison mysql-devel mysql
    
ubuntu16.04 : 
    sudo apt-get install gfortran qt4-qmake flex bison libmysqlclient-dev mysql-client
    
cd scripts && sudo ./requirements.sh     

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

Step 2: build(output to cmake_build folder)

cmake_build/src/milvus_server is the server

cd [sourcecode path]/cpp/thirdparty
git clone git@192.168.1.105:megasearch/knowhere.git
cd knowhere
./build.sh -t Debug
or ./build.sh -t Release

cd [sourcecode path]/cpp
./build.sh -t Debug
or ./build.sh -t Release

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
    

To build unittest:

./build.sh -u
or
./build.sh --unittest

To run code coverage

apt-get install lcov
./build.sh -u -c

Launch server

Set config in cpp/conf/server_config.yaml

Add milvus/lib to LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/milvus/lib

Then launch server with config: cd [build output path] start_server.sh stop_server.sh

Launch test_client(only for debug)

If you want to test remote api, you can run sdk example. [build output path]/sdk/examples/grpcsimple/sdk_simple