[英]mysql udf error - can't install in ubuntu 12.04 64 bit
我在安裝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重新編譯
我知道這是一個老問題,但是我剛剛使用Ubuntu 16遇到了這個問題。
我解決了以以下方式更改Makefile的問題 , 如GitHub問題所述 :
LIBDIR=/usr/lib/mysql/plugin
install:
gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o $(LIBDIR)/lib_mysqludf_sys.so
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.