This directory contains common tools that are used by Lucida micro-services, so please install all of them before compiling any micro-service.
Type make
to install all dependencies necessary for Lucida in the following order:
-
apt_deps.sh
: various packages installed usingapt-get
. -
install_python.sh
: Python 2.7.9 virtual environment and various packages installed viapip
. -
install_java.sh
: Java 8 -
install_opencv.sh
: OpenCV -
install_thrift.sh
: Apache Thrift 0.9.3 -
install_fbthrift.sh
: Facebook Thrift -
install_mongodb.sh
: MongoDB and C++ legacy driver
Other scripts:
-
download_wiki_index.sh
: if you want to use Wikipedia as an additional data source for OpenEphyra, please run./download_wiki_index.sh
and exportwiki_indri_index
. When deploying, you need to mount the Wikipedia database to the Kubernetes cluster, so please move the database to the host volume directory where other user databases are stored. (refer todeploy/qa-controller.yaml
for details). -
start_all.sh
: if you want to use a subset of services, please modify this file which is called bythe top-level Makefile
to start all the services.
-
This setup has been tested for Ubuntu 14.04 (64 bit), gcc 4.8, and Python 2.7.9, but you are welcome to improve the build system. If you use Ubuntu 16.04, modify
python_requirements.txt
so thatpyOpenSSL==0.14
, and be aware that you may not be able to compile OpenCV. Make sure to usegcc 4.8.4
, because MongoDB C++ driver fails to compile on newer version of gcc. -
Each script performs a simple check on whether the package is installed. If for some reason the installation failed, or the simple check is not sufficient and you want to force reinstallation, please either
sudo ./install_xxx.sh
, or open the script and run the commands manually to make sure each command succeeds. -
Both Apache Thrift and Facebook are necessary, and you must install Apache Thrift first, and then install Facebook Thrift. The
Makefile
guarantees that, but if for some reason you reverse the order (both compiled and installed), simply go back to Facebook Thrift:cd fbthrift/thrift/
andsudo make install
which should not take too long because it is already compiled.