我在安装 mysql udf ( https://github.com/mysqludf/lib_mysqludf_sys ) 时遇到问题。这是我得到的:
Compiling the MySQL UDF
gcc -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o /usr/lib/lib_mysqludf_sys.so
/usr/bin/ld: /tmp/ccw6HRtN.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/tmp/ccw6HRtN.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [install] Error 1
ERROR: You need libmysqlclient development software installed
to be able to compile this UDF, on Debian/Ubuntu just run:
apt-get install libmysqlclient15-dev
有什么想法吗? TIA
更新:
我已经安装了libmysqlclient15-dev
。
最佳答案
尝试使用 -fPIC
标志重新编译。它显然暗示了这一点:
/usr/bin/ld:/tmp/ccw6HRtN.o: 创建共享对象时不能使用针对 `.rodata' 的重定位 R_X86_64_32; 使用 -fPIC 重新编译
关于mysql udf 错误 - 无法在 ubuntu 12.04 64 位中安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22450725/