linux - 安装memcached却编译出错
黄舟
黄舟 2017-04-17 13:28:30
0
2
712

已经安装了libevent
yum install libevent-devel
并且安装了一些编译工具
yum -y install gcc gcc-c++ libstdc++-devel

按照官方提示使用以下安装方法

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure && make && make test && sudo make install

但当make的时候报错,信息如下:

gcc -std=gnu99 -DHAVE_CONFIG_H -I.    -fprofile-arcs -ftest-coverage -g -O2 -pthread -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -MT memcached_debug-slabs.o -MD -MP -MF .deps/memcached_debug-slabs.Tpo -c -o memcached_debug-slabs.o `test -f 'slabs.c' || echo './'`slabs.c
mv -f .deps/memcached_debug-slabs.Tpo .deps/memcached_debug-slabs.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I.    -fprofile-arcs -ftest-coverage -g -O2 -pthread -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -MT memcached_debug-items.o -MD -MP -MF .deps/memcached_debug-items.Tpo -c -o memcached_debug-items.o `test -f 'items.c' || echo './'`items.c
cc1: warnings being treated as errors
items.c: In function ‘crawler_crawl_q’:
items.c:1141: 警告:由于数据类型范围限制,比较结果永远为真
make[2]: *** [memcached_debug-items.o] 错误 1
make[2]: Leaving directory `/tmp/memcached-1.4.24'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/tmp/memcached-1.4.24'
make: *** [all] 错误 2
[root@localhost memcached-1.4.24]# 

怎么才能成功安装memcached呢?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(2)
PHPzhong

問題已經解決了,是因為Makefile有-Werror讓警告也不通通過編譯,修改Makefile把-Werror參數去掉就可以。 -Werror的意思是警告即錯誤,即編譯過程中有警告產生就無法編譯通過。而memcached的原始碼也許寫得不夠嚴謹,出警告了。
感謝@大舒的提點。

左手右手慢动作

gcc -std=gnu99 -DHAVE_CONFIG_H -I。 -fprofile-arcs -ftest-coverage -g -O2 -pthread -pthread -Wall -Werror -pedantic -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -MT memcached_debug-items.o -MD -MP -MF .deps/MP -MF .deps/MP -MF. memcached_debug-items.Tpo -c -o memcached_debug-items.o test -f 'items.c' || echo './'items.c
cc1:警告被視為錯誤
items.c:在函數‘crawler_crawl_q’中:
items.c:1141: 警告:由於資料類型範圍有限
,比較總是為真 make[2]: *** [memcached_debug-items.o] 錯誤 1
make[2]: 離開目錄 /usr/local/src/memcached-1.4.24' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/usr/local/src/memcached-1.4.24'
make: *** [全部] 錯誤 2

遇到了同樣的問題

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!