Estoy configurando un nuevo sistema dedicado centos 6.4 con redis. He instalado redis muchas veces, pero nunca he tenido este problema (y nunca he estado en centos 6.4 antes).
cd redis-2.6.16
sudo make install
error:
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"
Cuando intento construir jemalloc directamente (desde el área / src del redis tarball), otros errores incluyen:
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
También probé redis 2.6.7 y tengo el mismo problema.
He cavado por todas partes y no puedo encontrar el camino a seguir.
Respuestas:
Me encontré con el mismo problema en centos 6.4 y tuve que ejecutar los siguientes comandos:
No estoy seguro de por qué los departamentos no se construyeron, pensé que estaban en el pasado. Sin embargo, esto me puso en funcionamiento con la versión de redis que necesitaba.
fuente
unset ARCH; make hiredis
. De github.com/redis/hiredis-rb/issues/2Tuve los mismos errores después de una primera falla causada por un paquete faltante (gcc).
Entonces, después de instalar gcc, otro
make
intento dio estos errores:Estos errores fueron causados por algunos archivos que quedan aquí después de la falla del primer
make
comando. Aparentemente tuve que limpiar estos archivos, con el comando:Y luego
make
otra vez, y funcionó.Fuente: https://groups.google.com/forum/#!topic/redis-db/-guYpX2OCSk
fuente
make
antes de instalarbuild-essential
ytcl8.5
.En este sistema
/tmp
fue montadonoexec
.Redis ejecuta una serie de scripts de shell
/tmp
durante su instalación, por lo que la solución es volver a montar/tmp
sin lanoexec
bandera. Esto hace esto temporalmente:Debo agregar que esta solución se aplica a todas las versiones de redis 2.xy 3.x (4.x es muy desconocido para mí)
fuente
¿Intentó instalar el paquete que solicitó?
Esto se puede encontrar en el repositorio EPEL, que ya debería haber agregado a su sistema CentOS.
Ahora que lo pienso,
redis
también está en EPEL ...fuente
Resolvió esto para Redis 3.0.2 en RHEL-6.6 de la siguiente manera:
Desde el directorio de instalación de Redis,
Ejecutar
./deps/update-jemalloc.sh 3.6.0
(donde 3.6.0 es la última versión de jemalloc que funciona con Redis 3.0.2 a partir de este escrito)correr
make distclean && make
fuente
Sucede debido a un archivo de creación sucio, así que antes de ejecutar
ejecuta esto:
Seguro que resolverá todas las dependencias.
fuente
mismo problema que encontré cuando hice redis-3.0.0 en CentOS-6.6x86, intente esto para hacerlo.
fuente
Tuve este problema después de que eliminé la compilación a mitad de camino e intenté hacerlo nuevamente.
make clean
no ayudó, así que destruí el directorio y comencé de nuevo, y se compiló bien.fuente
Al principio, después de extraer archivos de
redis.<version>.tar.gz
make falló porque no había instalado gcc:Entonces instalé gcc:
Luego corrí el make nuevamente, recibí:
Eliminé la carpeta extraída de redis y la volví a extraer de.
redis.<version>.tar.gz
Dado que gcc está instalado esta vez, todo salió con éxito cuando ejecutémake
. Corrí desde dentro del directorio extraído de redis:fuente