pmem / pmem-redis

A version of Redis that uses persistent memory
BSD 3-Clause "New" or "Revised" License
113 stars 47 forks source link

complied failed on centos #19

Open xvanQ opened 11 months ago

xvanQ commented 11 months ago

my oprations are as follows: cd /root yum -y update yum -y install vim make gcc gcc-c++ git cmake kernel-devel kernel-headers tcl autoconf automake pkg-config pcre-devel zlib-devel libmemcached-devel libevent libevent-devel numactl numactl-devel libtool ndctl ndctl-libs daxctl daxctl-libs ndctl-devel daxctl-devel

All packages have been installed successfully

git clone https://github.com/pmem/pmem-redis cd pmem-redis/ git submodule init git submodule update make clean make distclean make USE_NVM=yes

Fail as shown:

LINK redis-server cc: error: ../deps/memkind/jemalloc/obj/lib/libjemalloc.a: No such file or directory cc: error: ../deps/memkind/.libs/libmemkind.a: No such file or directory cc: error: ../deps/jemallocat/lib/libjemallocat.a: No such file or directory cc: error: ../deps/aofguard/lib/libaofguard.a: No such file or directory make[1]: [Makefile:244: redis-server] Error 1 make[1]: Leaving directory '/root/pmem-redis/src' make: [Makefile:8: all] Error 2

Do I need to enter deps first to compile the package inside? Or am I missing any required installation packages?

xvanQ commented 11 months ago

if i use make USE_NVM=yes -j2, the above errors can be avoided, but new following errors will occur: /usr/bin/ld: ../deps/memkind/jemalloc/obj/lib/libjemalloc.a(arena.o):/root/pmem-redis/deps/memkind/jemalloc/obj/../src/arena.c:29: multiple definition of nlclasses'; ../deps/jemalloc/lib/libjemalloc.a(arena.o):/root/pmem-redis/deps/jemalloc/src/arena.c:17: first defined here /usr/bin/ld: ../deps/memkind/jemalloc/obj/lib/libjemalloc.a(arena.o):/root/pmem-redis/deps/memkind/jemalloc/obj/../src/arena.c:30: multiple definition ofnhclasses'; ../deps/jemalloc/lib/libjemalloc.a(arena.o):/root/pmem-redis/deps/jemalloc/src/arena.c:18: first defined here /usr/bin/ld: ../deps/memkind/jemalloc/obj/lib/libjemalloc.a(prof.o):/root/pmem-redis/deps/memkind/jemalloc/obj/../src/prof.c:56: multiple definition of lg_prof_sample'; ../deps/jemalloc/lib/libjemalloc.a(prof.o):/root/pmem-redis/deps/jemalloc/src/prof.c:56: first definedhere /usr/bin/ld: ../deps/memkind/jemalloc/obj/lib/libjemalloc.a(prof.o):/root/pmem-redis/deps/memkind/jemalloc/obj/../src/prof.c:37: multiple definition ofprof_active'; ../deps/jemalloc/lib/libjemalloc.a(prof.o):/root/pmem-redis/deps/jemalloc/src/prof.c:37: first defined here collect2: error: ld returned 1 exit status make[1]: [Makefile:244: redis-server] Error 1 make[1]: Waiting for unfinished jobs.... make[1]: Leaving directory '/root/pmem-redis/src' make: *** [Makefile:8: all] Error 2