轉載地址:http://xueliang1yi.blog.163.com/blog/static/1145570162012102114635764/ linux
在linux環境下安裝redis,在make編譯步驟報以下錯誤信息:git
[root@centos6 redis-3.2.6]# makegithub
cd src && make allredis
make[1]: Entering directory `/var/redis-3.2.6/src'centos
CC adlist.o測試
/bin/sh: cc: command not foundgoogle
make[1]: *** [adlist.o] Error 127.net
make[1]: Leaving directory `/var/redis-3.2.6/src'code
make: *** [all] Error 2blog
錯誤緣由: 原來Linux系統沒有裝gcc,而Redis是C實現的,因此須要gcc來進行編譯。
一、報錯一 沒用gcc
安裝過程
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
yum install tcl
注意gcc依賴了不少東西,有些包可能系統已經 裝了,有些沒有,防止出意外,最好都走一遍
二、報錯二,沒有tcl8.5, 安裝tcl8.5,過程以下
下載地址:http://downloads.sourceforge.net/tcl/tcl8.5.10-src.tar.gz
安裝過程
tar -zxvf tcl8.5.tar.gz
./configure
make
make install
三、安裝redis
make
make test //檢查一下,看看有沒有問題
make install
若是make繼續報錯,信息以下:error: jemalloc/jemalloc.h: No such file or directory
執行 make MALLOC=libc 就行
注意的是,爲了防止出意外,make失敗後在make的話,清理一下,執行make clean
下面是一些介紹:
Redis2.6已經發布了(http://redis.io/download),下載後,在make時一堆編譯錯誤,後來看issue,跟linux系統版本及位數有關。
昨天做者 antirez發佈了2.6.2,此版本修復了一些linux版本不兼容致使make不經過的問題,但是下下來之後,發如今測試機編譯仍是有些問題,與是 在issue上提出一個問題:(https://github.com/antirez/redis/issues/736#issuecomment- 9848046) 早上來的時候,看到大牛們熱心的回覆,真的很感動。在測試機上,因爲系統 是32位的,致使編譯時沒經過,首先我立馬肯定了這個問題,在64位測試機上測試時,發現果真編譯能夠經過,而後在32位上,跟據提示,在 Makefile中增長一條CFLAGS= -march=i686,編譯也順利經過了,頓時感受舒暢不少!
下載地址:http://redis.googlecode.com/files/redis-2.6.2.tar.gz
而後tar, make,便可。(make前,若是確認本身的測試機是32位linux,在src/Makefile文件中的頭部加上CFLAGS= -march=i686,可參考isSUSE中相關回答)
修改對應的redis.conf,而後啓動,便可進行測試了。