centos6靠谱快速安装redis替代品pika

本文详细记录了在CentOS6上编译安装Pika过程中遇到的问题及解决方案,包括GCC版本选择(4.8.5或4.9.4)、gflags和glog的版本匹配、依赖库的安装以及如何从源码编译安装。此外,还提到了使用FastGit镜像加速下载Pika源码和依赖库的方法。
摘要由CSDN通过智能技术生成

      最近在折腾这个,安装pika,网上文章没看到靠谱的很多都说下载最新的glog,gflags这样能编译过么。说到都是泪,遇到问题很多,而且也不容易解决,没人提供帮助,就是在pika群里问也没多少管你。通过摸索填坑终于爬出出来了。要想少爬坑,就要遵循以下原则。

1、环境:centos6  

     安装:

yum install gcc-c++




执行后默认安装的Package gcc-c++-4.4.7-23.el6.x86_64 already installed and latest version
这个版本太低t太高不行(不然要改代码才行,想不动代码就编译好),gcc版本的问题折腾我太久了,pika群里说的gcc7.3,5.5   最新版 都不靠谱,编译安装一次gcc版本 一个多小时就没了。最早我用gcc-10.2.0,然后就5.5,7.3都试过 后面 编译pika就是一堆错编译不通过。
通过我一天的折腾 就是4.8.x , 4.9.x 都可以最终我用的最终4.8.5 ,4.9.4

下载地址:ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc

 安装步骤

1、下载 gcc

wget ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.8.5/gcc-4.8.5.tar.gz
 

解压:tar  -zxvf  gcc-4.8.5.tar.gz

cd gcc-4.8.5 

下载组件

./contrib/download_prerequisites 

 下载完成开始编译安装gcc

  

./configure --prefix=/usr/local/lib/gcc-4.8.5 --enable-checking=release --enable-languages=c,c++ --disable-multilib

开始编译

make  -j4   

j后面的数字可以根据你的的cpu核心数来少于等于就可以   加快编译速度。

安装

make install 

 切换到新的gcc

  

vi ~/.bash_profile
## gnu gcc
export GCC_HOME=/usr/local/gcc-4.9.4
export PATH=$GCC_HOME/bin:$PATH
export MANPATH=$GCC_HOME/share/man
export CPATH=$GCC_HOME/include
export LD_LIBRARY_PATH=$GCC_HOME/lib:$GCC_HOME/lib64
export LIBRARY_PATH=$GCC_HOME/lib:$GCC_HOME/lib64

 保存

:wq

启用

 source ~/.bash_profile
gcc -v

能看到下面信息说明就切换过来了
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.8.5/libexec/gcc/x86_64-unknown-linux-gnu/4.8.5/lto-wrapper


组件:

yum install gflags-devel snappy-devel glog-devel protobuf-devel 

可能会显示下面的

No package glog-devel available.

centos6 可能找不到glog的包 只有自己源码安装 版本很重要 pika自带的版本是glog-0.3.3  ,对应的依赖gflags需要2.1.2或者2.1.1  我尝试过glog和 gflags  git最新的版本   编译Pika 一堆错,很坑人,浪费一天的时间,网上抄文 大多都是git新的版本,坑死还不知道。 我最后发现 pika里面依赖带的是0.3.3,找那个时期的gflags版本,最后 顺利编译没啥毛病。

 

编译gflags前要升级安装 cmake   gflags对cmake版本有要求的

wget  https://cmake.org/files/v3.18/cmake-3.18.4.tar.gz

安装cmake需要的组件

 yum  install build-essential libssl-dev
tar -zxvf cmake-3.18.4.tar.gz

cd  cmake-3.18.4
./bootstrap 

执行完成提示

CMake has bootstrapped.  Now run gmake.

gmake 

maek install
cmake -version

显示cmake version 3.18.4就对了不然要做相应的设置。

 

安装 gflags 2.1.2  gflags 2.1.1也可以的 最新的肯定是有问题的我试过。

可以去github.com下载

也可以到我的传的

https://download.csdn.net/download/clive_hua/19592329

要求下载包,解压

tar -zxvf gflags-2.1.2.tar.gz
cd gflags-2.1.2
mkdir build 
cd build 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G "Unix Makefiles" ../ 
make
make install 
ldconfig 

可选择的lib
yum install zlib-devel lz4-devel libzstd-devel

现在可以拉pika的代码下来编译了

源码地址: https://github.com/OpenAtomFoundation/pika

直接去github 官网git clone 要很久 可能要几个小时 中途可能断   连断几次就要重新来, 好不容易拉代码成功,

最后我找到下载很快的方式。去镜像站下

clone  https://hub.fastgit.org/OpenAtomFoundation/pika.git

 有了代码就开始编译了

在编译前还要更改依赖包的地址,也改成去镜像站下 这样速度超级快。

cd  pika

vi .gitmodules


 

[submodule "third/glog"]
        path = third/glog
        url = https://hub.fastgit.org/Qihoo360/glog.git
[submodule "third/slash"]
        path = third/slash
        url = https://hub.fastgit.org/Qihoo360/slash.git
[submodule "third/rocksdb"]
        path = third/rocksdb
        url = https://hub.fastgit.org/facebook/rocksdb.git
[submodule "third/blackwidow"]
        path = third/blackwidow
        url = https://hub.fastgit.org/Qihoo360/blackwidow.git
[submodule "third/pink"]
        path = third/pink
        url =https://hub.fastgit.org/Qihoo360/pink.git

保存。

开始编译pika

make 

就开始快速拉依赖组件。

拉完代码最好先去 编译安装glog 不然后会出现找不到glog.so的问题、

cd third/glog/

./configure  

make & make install

最后在编译 make就没啥问题。

我被坑的重点 就是gcc版本问题,试试好几个版本想不改代码下编译 目前我试到的就是4.8 4.9可以其他的一堆错。 gflags  需要2.1.x版本,centos  yum安装一般情况下没glog的包了。这搞了我两天多的时间!

centos7 安装pika也很坑下次再说,snappy的版本和流程问题,来回折腾了一天就这snappy。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值