Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol: RedisModule_ReplySetArrayLength #47

Open
LevitatingBusinessMan opened this issue Sep 23, 2020 · 6 comments
Open

undefined symbol: RedisModule_ReplySetArrayLength #47

LevitatingBusinessMan opened this issue Sep 23, 2020 · 6 comments

Comments

@LevitatingBusinessMan
Copy link

450850:M 23 Sep 2020 22:14:20.938 # Module ./module.so failed to load: ./module.so: undefined symbol: RedisModule_ReplySetArrayLength

Since commit 7028f20 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.

@Clement-Jean
Copy link

Clement-Jean commented Jul 6, 2021

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.

@www008
Copy link

www008 commented Jan 10, 2022

I found a solution!
SDK/redismodule.h replaced with redis/src/redismodule.h

@dchukmasov
Copy link

Any updates on this issue? Could not resolve it with @www008 solution

@mortensi
Copy link

mortensi commented Mar 3, 2022

The header in the 6.2 folder seems outdated, the header to /redis-6.2.6/src/redismodule.h indeed works

@TomerGodinger
Copy link

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.

@AachoLoya
Copy link

SOLUTION:

  1. Go to Redis repo: https://github.com/redis/redis
  2. Choose the branch corresponding to redis version you have e.g. currently 7.0
  3. Use the "redismodule.h" file in /src folder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants