Пытаюсь написать плагин для одной программы, который бы добавил поддержку Redis. В нём нужно написать несколько функций, которые будут вызываться. Использую
github.com/redis/hiredis для этого.
Если просто собрать hiredis, то всё работает нормально. Если же собираю so, то при попытке загрузить через dlopen выдаёт ошибку undefined symbol: redisConnectWithTimeout.
Проблема, скорее всего, в том, как я компилирую это дело:
gcc -I./ -fPIC -shared example.c -o plugin.so
nm plugin.so
показывает следующее:
U redisConnectWithTimeout
U redisFree
Пробовал также установить hiredis и компилировать с -lhiredis, результат тот же.