redislite icon indicating copy to clipboard operation
redislite copied to clipboard

Failure to install on Raspberry Pi 4

Open alejzeis opened this issue 4 years ago • 0 comments

Installation via pip install redislite and python setup.py install (off a fresh clone from master) both fail with the following error while compiling Redis:

gcc   -g -ggdb -rdynamic -o redis-server adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a -lm -ldl -pthread -lrt              
/usr/bin/ld: networking.o: in function `createClient':                                                                              
 /tmp/pip-install-8wo6la69/redislite/redis.submodule/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 '/tmp/pip-install-8wo6la69/redislite/redis.submodule/src'                                                
 make: *** [Makefile:9: install] Error 2

This appears to be https://github.com/redis/redis/issues/6275 which was fixed by commit https://github.com/redis/redis/commit/e9564dcb4d65fbff9e9fc5a04fd0171cf4d40fbf

Simply adding to the LD_FLAGS in the redis Makefile appears to fix the issue, which I have verified myself and confirms that redislite does install and function with that change applied to the redis.submodule directory

alejzeis avatar Jul 01 '21 14:07 alejzeis