Netflix / dynomite

A generic dynamo implementation for different k-v storage engines

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Make error in Debian 11: multiple definition of C2G_OutQ

aarninkron opened this issue · comments

I want to install Dynomite on Debian 11 but i get the following errors when i run the make command. Is there a solution?

I'm working with the branche v0.7

Commands i used:
$ git clone -b v0.7 https://github.com/Netflix/dynomite.git
$ cd dynomite
$ autoreconf -fvi
$ ./configure --enable-debug=yes
$ make

Error with make

libtool: link: gcc -Wall -Wshadow -Wpointer-arith -Winline -Wunused-function -Wunused-variable -Wunused-value -Wno-unused-parameter -Wno-unused-value -Wconversion -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -g -O2 -o dynomite-hash-tool dyn_hash_tool.o ../hashkit/dyn_token.o ../dyn_log.o ../dyn_util.o ../dyn_array.o ../../src/hashkit/libhashkit.a -lcrypto -lssl -lpthread -lm
/usr/bin/ld: ../dyn_util.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:29: multiple definition of C2G_OutQ'; ../dyn_log.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:29: first defined here /usr/bin/ld: ../dyn_util.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:23: multiple definition of C2G_InQ'; ../dyn_log.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:23: first defined here
/usr/bin/ld: ../dyn_array.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:29: multiple definition of C2G_OutQ'; ../dyn_log.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:29: first defined here /usr/bin/ld: ../dyn_array.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:23: multiple definition of C2G_InQ'; ../dyn_log.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:23: first defined here
/usr/bin/ld: ../../src/hashkit/libhashkit.a(dyn_murmur.o):/usr/local/sbin/dynomite/src/hashkit/../../src/dyn_ring_queue.h:29: multiple definition of C2G_OutQ'; ../dyn_log.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:29: first defined here /usr/bin/ld: ../../src/hashkit/libhashkit.a(dyn_murmur.o):/usr/local/sbin/dynomite/src/hashkit/../../src/dyn_ring_queue.h:23: multiple definition of C2G_InQ'; ../dyn_log.o:/usr/local/sbin/dynomite/src/tools/../dyn_ring_queue.h:23: first defined here
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:428: dynomite-hash-tool] Error 1
make[3]: Leaving directory '/usr/local/sbin/dynomite/src/tools'
make[2]: *** [Makefile:717: all-recursive] Error 1
make[2]: Leaving directory '/usr/local/sbin/dynomite/src'
make[1]: *** [Makefile:485: all-recursive] Error 1
make[1]: Leaving directory '/usr/local/sbin/dynomite'
make: *** [Makefile:374: all] Error 2

I found the solution on: dmolik@303d4ec
patch the files src/dyn_ring_queue.c and src/dyn_ring_queue.h and it works perfectly