RedisModulesSDK
RedisModulesSDK copied to clipboard
undefined symbol: RedisModule_ReplySetArrayLength
450850:M 23 Sep 2020 22:14:20.938 # Module ./module.so failed to load: ./module.so: undefined symbol: RedisModule_ReplySetArrayLength
Since commit 7028f206c9bd2438a27eb61b2339dffd43d1f929 I have been getting this error with newly compiled modules on both redis 5 and 6.
When going back to an older version of redismodule.h I can build for redis 5 again.
Any progress here ? I'm getting the same error
Tried commenting all the function definitions that I don't use in the include file and it gives me the same error on a function I use.
I found a solution! SDK/redismodule.h replaced with redis/src/redismodule.h
Any updates on this issue? Could not resolve it with @www008 solution
The header in the 6.2 folder seems outdated, the header to /redis-6.2.6/src/redismodule.h indeed works
Any updates on this issue? Could not resolve it with @www008 solution
@dchukmasov You need to copy the redismodule.h
file from the src
file of the Redis server you're running into the root folder of your clone of this repository. That's what www008 wrote, just in more detail.
Is that what you tried?
I had the same issue with Redis 6.2.6 (the latest stable version at the time of writing) and this solved it.
Make sure that the Redis version you're running is the one from which you take this file (redis-server
shows its version when it starts).
As for an actual fix, that would be to update the file in this repo. I also believe that whichever file is at the repo root should also be in its own folder specifying the version it corresponds to, and that the README.md
file should be modified to specify that when you build it, you should use the one in the folder that matches the Redis version you're running. I'd put that as a note in the Quick Start Guide section at the end, and it might also be a good idea to add another small "Troubleshooting" section that says the same thing.
SOLUTION:
- Go to Redis repo: https://github.com/redis/redis
- Choose the branch corresponding to redis version you have e.g. currently 7.0
- Use the "redismodule.h" file in /src folder