centos 7コンパイルインストールredisピット
1264 ワード
redisコンパイル時:make cc Command not found
原因分析:gccをインストールしていない、実行:
redisコンパイル時:error:jemalloc/jemalloc.h: No such file or directory
原因分析:gccはここでc言語コンパイラとしてredisをコンパイル(もちろん現在は多様な言語のコンパイラに発展している)ものであり、c言語といえば一般的に考えられる.hのヘッダファイル、これらのヘッダファイルにはMALLOCという環境変数が含まれており、MALLOC=jemallocである.そして、redisの説明ファイルREADMEを見てみよう.md、次の言葉が見つかります.
Selecting a non-default memory allocator when building Redis is done by settingthe `MALLOC` environment variable. Redis is compiled and linked against libcmalloc by default, with the exception of jemalloc being the default on Linuxsystems. This default was picked because jemalloc has proven to have fewerfragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
現在、エラーの原因と解決策が明らかになり、実行されています.
問題解決
転載はブログの出典を明記してください:http://www.cnblogs.com/cjh-notes/
転載先:https://www.cnblogs.com/cjh-notes/p/8735044.html
原因分析:gccをインストールしていない、実行:
yum install gcc
redisコンパイル時:error:jemalloc/jemalloc.h: No such file or directory
原因分析:gccはここでc言語コンパイラとしてredisをコンパイル(もちろん現在は多様な言語のコンパイラに発展している)ものであり、c言語といえば一般的に考えられる.hのヘッダファイル、これらのヘッダファイルにはMALLOCという環境変数が含まれており、MALLOC=jemallocである.そして、redisの説明ファイルREADMEを見てみよう.md、次の言葉が見つかります.
Selecting a non-default memory allocator when building Redis is done by settingthe `MALLOC` environment variable. Redis is compiled and linked against libcmalloc by default, with the exception of jemalloc being the default on Linuxsystems. This default was picked because jemalloc has proven to have fewerfragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
現在、エラーの原因と解決策が明らかになり、実行されています.
make MALLOC=libc
問題解決
転載はブログの出典を明記してください:http://www.cnblogs.com/cjh-notes/
転載先:https://www.cnblogs.com/cjh-notes/p/8735044.html