Saya sedang menyiapkan sistem 6.4 centos berdedikasi baru dengan redis. Saya telah menginstal redis berkali-kali, tetapi belum pernah mencapai masalah ini (dan belum pernah pada centos 6.4 sebelumnya).
cd redis-2.6.16
sudo make install
kesalahan:
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"
Ketika saya mencoba membangun jemalloc secara langsung (dari / src dari redis tarball), kesalahan lain termasuk:
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
Saya juga mencoba redis 2.6.7 dan memiliki masalah yang sama.
Saya telah menggali seluruh dan tidak dapat menemukan jalan ke depan.
Jawaban:
Saya mengalami masalah yang sama pada centos 6.4 dan harus menjalankan perintah berikut:
Saya tidak yakin mengapa deps di mana tidak dibangun, saya pikir mereka di masa lalu. Namun, ini membuat saya berdiri dan berjalan dengan versi redis yang saya butuhkan.
sumber
unset ARCH; make hiredis
. Dari github.com/redis/hiredis-rb/issues/2Saya memiliki kesalahan yang sama setelah kegagalan pertama yang disebabkan oleh paket yang hilang (gcc).
Jadi setelah menginstal gcc,
make
upaya lain memberikan kesalahan ini:Kesalahan ini disebabkan oleh beberapa file yang tersisa di sini setelah kegagalan
make
perintah pertama . Rupanya saya harus membersihkan file-file ini, dengan perintah:Dan
make
lagi, dan itu berhasil.Sumber: https://groups.google.com/forum/#!topic/redis-db/-guYpX2OCSk
sumber
make
sebelum menginstalbuild-essential
dantcl8.5
.Pada sistem
/tmp
ini dipasangnoexec
.Redis menjalankan sejumlah skrip shell dari
/tmp
saat instalasi, jadi solusinya adalah untuk melakukan remount/tmp
tanpanoexec
flag. Ini melakukan ini untuk sementara:Saya harus menambahkan bahwa solusi ini berlaku untuk semua versi redis 2.x dan 3.x (4.x sejauh ini tidak diketahui oleh saya)
sumber
Apakah Anda mencoba menginstal paket yang diminta?
Ini dapat ditemukan di repositori EPEL, yang seharusnya sudah Anda tambahkan ke sistem CentOS Anda.
Kalau dipikir-pikir itu,
redis
juga dalam EPEL ...sumber
Diselesaikan ini untuk Redis 3.0.2 pada RHEL-6.6 sebagai berikut:
Dari direktori instalasi Redis,
Jalankan
./deps/update-jemalloc.sh 3.6.0
(di mana 3.6.0 adalah versi terbaru jemalloc yang berfungsi dengan Redis 3.0.2 saat tulisan ini dibuat)Menjalankan
make distclean && make
sumber
Ini terjadi karena file make kotor jadi sebelum dijalankan
jalankan ini:
yakin itu akan menyelesaikan semua dependensi.
sumber
masalah yang sama yang saya temui ketika membuat redis-3.0.0 pada CentOS-6.6x86, coba ini untuk membuatnya.
sumber
Saya memiliki masalah ini setelah saya membunuh bangunan setengah jalan dan mencoba membuatnya lagi.
make clean
tidak membantu jadi saya nuked direktori dan mulai lagi, dan itu dikompilasi dengan baik.sumber
Pada awalnya, setelah mengekstraksi file dari
redis.<version>.tar.gz
make gagal karena tidak ada gcc yang diinstal:Jadi saya menginstal gcc:
Kemudian saya menjalankan make lagi, saya menerima:
Saya menghapus folder redis yang diekstraksi dan mengekstraknya kembali.
redis.<version>.tar.gz
Karena gcc terinstal kali ini, semuanya berjalan dengan sukses ketika saya menjalankanmake
. Saya berlari dari dalam direktori redis yang diekstraksi:sumber