0

我的服务器在 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

4

1 回答 1

0

我有同样的问题。安装后编译带有标志build-essential的共享库:-fPIC

gcc -fPIC -o levenshtein.so -shared /home/username/levenshtein.c -I /usr/include/mysql/

以防万一我也安装libc6-dev.

于 2014-03-29T06:57:19.497 回答