我的服务器在ubuntu 12.04上。
我正在尝试安装Levenshtein-MySQL-UDF:https://github.com/jmcejuela/Levenshtein-MySQL-UDF
我下载了.zip并在我的服务器上找到了levenshtein.c文件:/home/username/levenshtein.c
当我在终端输入以下命令时:
gcc -o levenshtein.so -shared /home/username/levenshtein.c -I /usr/include/mysql/
我发现了这个错误:
/usr/bin/ld: /tmp/ccCPQijg.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/tmp/ccCPQijg.o:无法读取符号:值不正确 collect2:ld返回1退出状态
我用谷歌搜索错误以找到如何解决它并安装build-essential,但是在我遇到同样的错误之后。
我不知道如何使用-fPIC正确地重新编译我必须重新编译的内容...
我发现了许多与我有点不同的主题,我不知道我现在可以做些什么来解决我的问题。
有人可以帮我吗?
谢谢; - )
BBFUNK01
答案 0 :(得分:0)
我有同样的问题。安装build-essential
后,使用-fPIC
标志编译共享库:
gcc -fPIC -o levenshtein.so -shared /home/username/levenshtein.c -I /usr/include/mysql/
以防万一我也安装libc6-dev
。