Я устанавливаю новую специализированную систему Centos 6.4 с Redis. Я много раз устанавливал redis, но никогда не сталкивался с этой проблемой (и никогда раньше не был на centos 6.4).
cd redis-2.6.16
sudo make install
ошибка:
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"
Когда я пытаюсь собрать jemalloc напрямую (из области / src архива redis), другие ошибки включают в себя:
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
Я также попробовал redis 2.6.7 и имею ту же проблему.
Я выкопал все и не могу найти пути вперед.
Ответы:
Я столкнулся с той же проблемой на Centos 6.4 и должен был выполнить следующие команды:
Я не уверен, почему депы не были построены, я думал, что они были в прошлом. Тем не менее, это заставило меня работать с версией Redis, что мне нужно.
источник
unset ARCH; make hiredis
. От github.com/redis/hiredis-rb/issues/2У меня были те же ошибки после первого сбоя, вызванного отсутствующим пакетом (gcc).
Итак, после установки gcc, другая
make
попытка выдала следующие ошибки:Эти ошибки были вызваны некоторыми файлами, оставленными здесь после сбоя первой
make
команды. Видимо мне пришлось очистить эти файлы с помощью команды:А потом
make
снова, и это сработало.Источник: https://groups.google.com/forum/#!topic/redis-db/-guYpX2OCSk
источник
make
до установкиbuild-essential
иtcl8.5
.На этой системе
/tmp
была смонтированаnoexec
.Redis запускает несколько сценариев оболочки
/tmp
во время установки, поэтому решение состоит в том, чтобы перемонтировать/tmp
безnoexec
флага. Это делает это временно:Я должен добавить, что это решение относится ко всем версиям Redis 2.x и 3.x (4.x мне пока неизвестно)
источник
Вы пытались установить пакет, который он запрашивал?
Это можно найти в репозитории EPEL, который вы уже должны были добавить в свою систему CentOS.
Если подумать,
redis
тоже в EPEL ...источник
Решено это для Redis 3.0.2 на RHEL-6.6 следующим образом:
Из каталога установки Redis,
Выполнить
./deps/update-jemalloc.sh 3.6.0
(где 3.6.0 - последняя версия jemalloc, которая работает с Redis 3.0.2 на момент написания статьи)Бег
make distclean && make
источник
Это происходит из-за грязного файла make перед запуском
запустите это:
уверен, что это решит все зависимости.
источник
та же проблема, с которой я столкнулся при создании redis-3.0.0 на CentOS-6.6x86, попробуйте это сделать.
источник
У меня была эта проблема после того, как я убил сборку на полпути и попытался сделать это снова.
make clean
не помогло, поэтому я взломал каталог и начал заново, и он скомпилирован нормально.источник
Сначала, после извлечения файлов из
redis.<version>.tar.gz
make произошел сбой, потому что не был установлен gcc:Итак, я установил gcc:
Затем я снова запустил марку и получил:
Я удалил папку Redis Extraced и повторно извлек ее из
redis.<version>.tar.gz
. Так как gcc установлен на этот раз, все прошло успешно, когда я запустилсяmake
. Я побежал изнутри Redis извлеченный каталог:источник