2013-05-03 46 views
0

我的服務器在Ubuntu 12.04上。針對`.rodata'的位置R_X86_64_32在製作共享對象時無法使用;用-fPIC重新編譯

我試圖安裝萊文斯坦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/ 

我obten此錯誤:

/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個退出狀態

我一派錯誤找到如何解決它,我安裝建立必要的,但之後,我有同樣的錯誤。

我不知道我該如何使用-fPIC正確編譯什麼,我必須重新編譯......

我發現了很多的話題這是我的一點點不同的,我不知道是什麼我現在可以解決我的問題。

任何人都可以幫助我嗎?

感謝;-)

BBFUNK01

回答

0

我有同樣的問題。 build-essential安裝編譯共享與-fPIC標誌庫後:

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

以防萬一,我還安裝libc6-dev

相關問題