-fPIC
src/so/Makefile:
freebsd:
@$(MAKE) CC=gcc CFLAGS="-DBSD44 -O2 -pipe -fomit-frame-pointer \
-Wunused -I../include -fPIC" $(SO)
然後重跑一次 install.sh 應該就可以了:p
※ 引述《[email protected] (南洋大兜蟲)》之銘言:
> xover.c:846: warning: cast from pointer to integer of different size
> gcc -DBSD44 -O2 -pipe -fomit-frame-pointer -Wunused -I../include -c xpost.c
> gcc -o bbsd acct.o bbsd.o bmw.o board.o cache.o edit.o favor.o gem.o mail.o menu.o more.o pal.o post.o talk.o ulist.o user.o visio.o window.o xover.o xpost.o -s -L../lib -ldao -lcrypt -export-dynamic
> gcc -DBSD44 -O2 -pipe -fomit-frame-pointer -Wunused -I../include -c admutil.c
> ld -s -G admutil.o -o admutil.so -L../lib -ldao
> ld: admutil.o: relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
> admutil.o: could not read symbols: Bad value
> *** Error code 1
> Stop in /home/bbs/src/so.
> *** Error code 1
> Stop in /home/bbs/src/so.
> *** Error code 1
> Stop in /home/bbs/src.
> /home/bbs/bin/install.sh: bin/bbsd: not found
> /home/bbs/bin/install.sh: bin/camera: not found
> /home/bbs/bin/install.sh: bin/account: not found
> Trying 0.0.0.0...
> telnet: connect to address 0.0.0.0: Connection refused
> telnet: Unable to connect to remote host
> 我在i386沒有這個問題
> 而在另一台amd64的機器裝的時候出現以上的錯誤
> 請問有什麼可以解決的辦法呢= =a
> 是不是要用特別的編譯方式?
> 我的版本:
> FreeBSD CSsula.dorm8.nctu.edu.tw 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Wed Oct 7 08:03:18 CST 2009 [email protected]:/usr/obj/usr/src/sys/SABSD amd64 SABSD
--
※ Origin: 星情夜語 <bbs.hychen.org>
◆ From: gaod @ 122-116-11-47.HINET-IP.hinet.net
src/lib/Makefile:
src/so/Makefile:
src/game/Makefile
src/pip/Makefile
這幾個檔案裡面,在 CFLAGS 參數處加上 -fPIC
例如
src/lib/Makefile:
CFLAGS = -O2 -s -pipe -fomit-frame-pointer -Wunused -I../include