今天在FreeBSD 5.4 Release中安装Firefox, 先更新ports tree到最新版本: FreeBSD# cvsup -g -L 2 /root/ports-supfile 然后到Firefox的目录中去执行make: FreeBSD# cd /usr/ports/www/firefox FreeBSD# make 没多久,系统就爆出了编译错误: nsHostResolver.h:95: error: ISO C++ forbids declaration of `PRAddrInfo' with no type nsHostResolver.h:95: error: eXPected `;' before '*' token nsHostResolver.h: In member function `PRBool nsHostRecord::HasResult() const': nsHostResolver.h:99: error: `addr_info' undeclared (first use this function) nsHostResolver.h:99: error: (Each undeclared identifier is reported only once for each function it appears in.) nsHostResolver.h: At global scope: nsHostResolver.h:209: error: `PRAddrInfo' has not been declared nsHostResolver.h:209: error: ISO C++ forbids declaration of `parameter' with no type nsDNSService2.cpp: In member function `virtual nsresult nsDNSRecord::GetCanonicalName(nsACString&)': nsDNSService2.cpp:95: error: 'class nsDerivedSafe' has no member named 'addr_info' nsDNSService2.cpp:96: error: 'class nsDerivedSafe' has no member named 'addr_info' nsDNSService2.cpp:96: error: `PR_GetCanonNameFromAddrInfo' undeclared (first use this function) nsDNSService2.cpp: In member function `virtual nsresult nsDNSRecord::GetNextAddr(PRUint16, PRNetAddr*)': nsDNSService2.cpp:112: error: 'class nsDerivedSafe' has no member named 'addr_info' nsDNSService2.cpp:113: error: 'class nsDerivedSafe' has no member named 'addr_info' nsDNSService2.cpp:113: error: `PR_EnumerateAddrInfo' undeclared (first use this function) nsDNSService2.cpp: In member function `PRUint16 nsDNSService::GetAFForLookup(const nsACString&)': nsDNSService2.cpp:528: error: `PR_AF_UNSPEC' undeclared (first use this function) gmake[4]: *** [nsDNSService2.o] Error 1 gmake[4]: Leaving Directory `/usr/ports/www/firefox/work/mozilla/netwerk/dns/src' gmake[3]: *** [libs] Error 2 gmake[3]: Leaving directory `/usr/ports/www/firefox/work/mozilla/netwerk/dns' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/usr/ports/www/firefox/work/mozilla/netwerk' gmake[1]: *** [tier_9] Error 2 gmake[1]: Leaving directory `/usr/ports/www/firefox/work/mozilla' gmake: *** [default] Error 2 *** Error code 2 引起这个问题的原因是Firefox在老版本的nspr上会存在问题,无法通过编译! 于是决定安装新版的依赖包: FreeBSD# cd /usr/ports FreeBSD# make search name=nspr 查出来有如下几个: Port: nspr-4.4.1_1 Path: /usr/ports/devel/nspr Port: dnsproxy-1.13 Path: /usr/ports/dns/dnsproxy Port: transproxy-1.5 Path: /usr/ports/www/transproxy 对他们一一进行make, make install后,再来安装firefox即可!
[1] [2] 下一页
(出处:http://www.sheup.com)
上一页 [1] [2]