Estou configurando um novo sistema dedicado, centos 6.4 com redis. Instalei o redis várias vezes, mas nunca encontrei esse problema (e nunca havia estado no centos 6.4 antes).
cd redis-2.6.16
sudo make install
erro:
MAKE jemalloc
cd jemalloc && ./configure --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS=""
/bin/sh: ./configure: Permission denied
make[2]: *** [jemalloc] Error 126
make[2]: Leaving directory `/tmp/redis32/redis-3.2.6/deps'
make[1]: [persist-settings] Error 2 (ignored)
sh: ./mkreleasehdr.sh: Permission denied
and later:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
Quando tento criar jemalloc diretamente (da área / src do redis tarball), outros erros incluem:
cd src && make jemalloc
sh: ./mkreleasehdr.sh: Permission denied
make[1]: Entering directory `/tmp/rediswork/redis-2.6.16/src'
make[1]: *** No rule to make target `jemalloc'. Stop.
make[1]: Leaving directory `/tmp/rediswork/redis-2.6.16/src'
make: *** [jemalloc] Error 2
Eu também tentei o redis 2.6.7 e tenho o mesmo problema.
Eu cavei por toda parte e não consigo encontrar nenhum caminho a seguir.
Respostas:
Corri para o mesmo problema no centos 6.4 e tive que executar os seguintes comandos:
Não sei por que os deps não foram construídos, pensei que estavam no passado. No entanto, isso me colocou em funcionamento com a versão do redis que eu precisava.
fonte
unset ARCH; make hiredis
. De github.com/redis/hiredis-rb/issues/2Eu tive os mesmos erros após uma primeira falha causada por um pacote ausente (gcc).
Então, depois de instalar o gcc, outra
make
tentativa deu os seguintes erros:Esses erros foram causados por alguns arquivos deixados aqui após a falha do primeiro
make
comando. Aparentemente, eu tive que limpar esses arquivos, com o comando:E então
make
novamente, e funcionou.Fonte: https://groups.google.com/forum/#!topic/redis-db/-guYpX2OCSk
fonte
make
antes da instalaçãobuild-essential
etcl8.5
.Neste sistema
/tmp
foi montadonoexec
.O Redis executa vários scripts de shell
/tmp
durante a instalação, portanto a solução é remontar/tmp
sem onoexec
sinalizador. Isso faz isso temporariamente:Devo acrescentar que esta solução se aplica a todas as versões redis 2.xe 3.x (4.x é muito desconhecido para mim)
fonte
Você tentou instalar o pacote solicitado?
Isso pode ser encontrado no repositório EPEL, que você já deve ter adicionado ao seu sistema CentOS.
Venha para pensar,
redis
também está no EPEL ...fonte
Resolvido isso para o Redis 3.0.2 no RHEL-6.6, da seguinte maneira:
No diretório de instalação do Redis,
Executar
./deps/update-jemalloc.sh 3.6.0
(em que 3.6.0 é a versão mais recente do jemalloc que funciona com o Redis 3.0.2 até o momento da redação deste documento)Corre
make distclean && make
fonte
Isso acontece devido ao arquivo make sujo, antes de executar
Rode isto:
Certifique-se de que resolverá todas as dependências.
fonte
mesmo problema que encontrei ao fazer o redis-3.0.0 no CentOS-6.6x86, tente fazer isso.
fonte
Eu tive esse problema depois que matei o build no meio do caminho e tentei fazê-lo novamente.
make clean
não ajudou, então eu coloquei o diretório e reiniciei o diretório, e ele compilou bem.fonte
Inicialmente, após a extração dos arquivos do
redis.<version>.tar.gz
make falhou porque não havia o gcc instalado:Então eu instalei o gcc:
Então eu corri o make novamente, recebi:
Eu removi a pasta redis extraída e a extraí novamente do
redis.<version>.tar.gz
arquivo .Desde que o gcc esteja instalado desta vez, tudo correu com êxito ao executarmake
. Corri de dentro do diretório extraído do redis:fonte