Install Firefox in FreeBSD 5.4 release today. Update the ports tree to the latest version:
FreeBSD # CVSup-g-L 2/root/ports-supfile
Then execute make in the Firefox directory:
FreeBSD # cd/usr/ports/www/Firefox
FreeBSD # Make
Soon after, the system encountered a compilation error:
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 <nshostrecord> 'has no member named' ADDR _ info' Nsdnsservice2.cpp: 96: Error: 'class nsderivedsafe <nshostrecord> '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 <nshostrecord> 'has no member named' ADDR _ info' NsDNSService2.cpp: 113: error: 'class nsDerivedSafe <nsHostRecord> '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/dn' Gmake [2]: *** [libs] Error 2 Gmake [2]: Leaving directory '/usr/ports/www/firefox/work/mozilla/netwer' Gmake [1]: *** [tier_9] Error 2 Gmake [1]: Leaving directory '/usr/ports/www/firefox/work/mozilla' Gmake: *** [Default] Error 2 * ** Error code 2
|
This problem occurs because Firefox has problems with NSPR in earlier versions and cannot be compiled!
So I decided to install the new dependency package:
FreeBSD # cd/usr/Ports
FreeBSD # Make search name = NSPR
The following are several examples:
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 them one by one, make install, and then install firefox again!