This directory contains common tools that are used by Lucida micro-services, so please install all of them before compiling any micro-service.
make to install all dependencies necessary for Lucida in the following order:
apt_deps.sh: various packages installed using
install_python.sh: Python 2.7.9 virtual environment and various packages installed via
install_java.sh: Java 8
install_thrift.sh: Apache Thrift 0.9.3
install_fbthrift.sh: Facebook Thrift
download_wiki_index.sh: if you want to use Wikipedia as an additional data source for OpenEphyra, please run
wiki_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 to
start_all.sh: if you want to use a subset of services, please modify this file which is called by
the top-level Makefileto 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
pyOpenSSL==0.14, and be aware that you may not be able to compile OpenCV. Make sure to use
gcc 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
Makefileguarantees that, but if for some reason you reverse the order (both compiled and installed), simply go back to Facebook Thrift:
sudo make installwhich should not take too long because it is already compiled.