2011年12月28日 星期三

[python]pywumanber /usr/bin/ld: /var/tmp//ccrcmXPj.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC


cfarrell1980/pywumanber - GitHub
https://github.com/cfarrell1980/pywumanber

在裝 pywumanber的時候遇到的問題
(沒錯,就是大名鼎鼎的agrep 方法  Sun Wu 大神 20年前的作品 wu manber的py binding )
Sun Wu, Ph.D.
http://www.cs.ccu.edu.tw/~sw/
吳昇。吾生
http://w2.cs.ccu.edu.tw/Site/sunwu/

[pyenvb] pcl99@gaisk[~/tmp/pywumanber][1:15]$ make
gcc -shared -O2 -o wumanber.so wumanber_impl.c
/usr/bin/ld: /var/tmp//ccrcmXPj.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/var/tmp//ccrcmXPj.o: could not read symbols: Bad value
*** Error code 1

Stop in /.amd_mnt/gais4/host/home/UserHome/pcl99/tmp/pywumanber.
Exit 1

[pyenvb] pcl99@gaisk[~/tmp/pywumanber][1:14]$ gcc main.c
/usr/lib/crt1.o: In function `_start':
crt1.c:(.text+0x8a): undefined reference to `main'
Exit 1

解法就在提示中....

在makefile裡面的

default: wumanber.so

wumanber.so: wumanber_impl.c
$(CC) -shared -fPIC -O2 -o wumanber.so wumanber_impl.c

clean:
rm wumanber.so
加上-fPIC


沒有留言:

張貼留言