Redis build fails on new RaspberryPi 4 using Raspbian Buster

Viewed 863

I am getting a linker error when trying to build redis-stable (should be 5.0.5) on raspbian buster running on the latest Raspberry Pi 4

make goes through the motions and then fails with the following

    LINK redis-server
/usr/bin/ld: networking.o: in function `createClient':
/home/pi/redis-stable/src/networking.c:109: undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:219: redis-server] Error 1
make[1]: Leaving directory '/home/pi/redis-stable/src'
make: *** [Makefile:6: all] Error 2

Am I missing a setting somewhere?

2 Answers

I was able to get all the tests to run successfully by adding the compiler flag -latomic only to the redis-server

# redis-server                                                                                                                                                
$(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ)                                                                                                                     
        $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) -latomic

EDIT: This is with Redis 5.0.5

I was able to run by adding the compiler flag -latomic only to the haproxy

[error]

/home/pi/CQ/LB/haproxy-1.8.21/src/proto_http.c:12152: undefined reference to `__atomic_fetch_add_8'
..........................................
..........................................
/usr/bin/ld: src/proto_http.o:/home/pi/CQ/LB/haproxy-1.8.21/src/proto_http.c:4200: more undefined references to `__atomic_fetch_add_8' follow
/usr/bin/ld: src/time.o: in function `tv_update_date':
/home/pi/CQ/LB/haproxy-1.8.21/src/time.c:229: undefined reference to `__atomic_compare_exchange_8'
collect2: error: ld returned 1 exit status
make: *** [Makefile:914: haproxy] error 1

[adding]

913 haproxy: $(OPTIONS_OBJS) $(EBTREE_OBJS) $(OBJS)
914          $(LD) $(LDFLAGS) -o $@ $^ $(LDOPTS) -latomic
Related