pika安裝教程

2018-09-28 10:40 更新

快速試用

如果想快速試用pika,目前提供了Centos5,Centos6和Debian(Ubuntu16) binary版本,可以在release頁面看到,具體文件是pikaX.Y.Z_xxx_bin.tar.gz。

1. unzip file
$ tar zxf pikaX.Y.Z_xxx_bin.tar.gz
2. change working directory to output
note: we should in this directory, caz the RPATH is ./lib;
$ cd output
3. run pika:
$ ./bin/pika -c conf/pika.conf

編譯安裝

CentOS (Fedora, Redhat)

1.安裝必要的lib

$ sudo yum install snappy-devel  protobuf-compiler  protobuf-devel bzip2-devel  zlib-devel bzip2

2.安裝gcc

$ sudo yum install gcc-c++

3.如果機(jī)器gcc版本低于4.8,需要切換到gcc4.8或者以上,下面指令可臨時切換到gcc4.8

$ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
$ sudo yum install --nogpgcheck devtoolset-2
$ scl enable devtoolset-2 bash

4.獲取項目源代碼

$ git clone --recursive https://github.com/Qihoo360/pika
$ cd pika

4.1 更新子模塊(如果是從已有舊的代碼庫升級到2.2+的版本)

  • pika目前submodule依賴glog,pink,slash,nemo(nemo -> nemo-rocksdb -> rocksdb);
$ git submodule update --recursive --init
  • 某些版本的git在有init的時候,如果已經(jīng)init的子庫,不會update, 需要再執(zhí)行g(shù)it submodule update --recursive

5.編譯

$ make __REL=1
note: 若編譯過程中,提示有依賴的庫沒有安裝,則有提示安裝后再重新編譯

Debian (Ubuntu)

1.安裝必要的lib

$ sudo apt-get install libzip-dev libsnappy-dev libprotobuf-dev protobuf-compiler bzip2

2.安裝gcc4.8或者以上

$ sudo apt-get install gcc-4.8
$ sudo apt-get install g++-4.8

3.如果機(jī)器gcc版本低于gcc4.8,需要切換到gcc4.8或者以上,下面為切換到4.8的方法

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
$ sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-4.6   100       auto mode
  1            /usr/bin/gcc-4.8   50        manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/g++-4.6 to provide /usr/bin/g++ (g++) in manual mode.

4.獲取項目源代碼

$ git clone --recursive https://github.com/Qihoo360/pika
$ cd pika

4.1 更新子模塊(如果是從已有舊的代碼庫升級到2.2+的版本)

  • pika目前submodule依賴glog,pink,slash,nemo(nemo -> nemo-rocksdb -> rocksdb);
$ git submodule update --recursive --init
  • 某些版本的git在有init的時候,如果已經(jīng)init的子庫,不會update, 需要再執(zhí)行g(shù)it submodule update --recursive

5.編譯

$ make __REL=1
note: 若編譯過程中,提示有依賴的庫沒有安裝,則有提示安裝后再重新編譯

使用

$ ./output/bin/pika -c ./conf/pika.conf

若啟動失敗,把./output/lib/的內(nèi)容拷貝到Makefile定義的rpath目錄下,然后重新啟動

$ cp output/lib/* RPATH
note: RPATH已在Makefile定義,表示的是程序運(yùn)行的庫預(yù)先加載路徑


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號