Mozilla is a browser suite, the Open Source sibling of Netscape. It includes the browser, composer, mail client and an IRC client. A calendar component is also being built but it is not yet integrated into the stable Mozilla releases.
In this section we also mention the building of Mozilla Firebird, (a stand-alone browser based on the Mozilla source code) and Mozilla Thunderbird, (a stand-alone mail client based on the Mozilla source code). Since the build instructions for Mozilla Firebird and Mozilla Thunderbird are similar to Mozilla, only the changes required with respect to the Mozilla instructions are mentioned.
Download (HTTP): http://ftp.mozilla.org/pub/mozilla/releases/mozilla1.4/src/mozilla-source-1.4.tar.bz2
Download (FTP): ftp://ftp.mozilla.org/pub/mozilla/releases/mozilla1.4/src/mozilla-source-1.4.tar.bz2
Download size: 39 MB
Estimated Disk space required: 550 MB
Estimated build time: 22.64 SBU
Install Mozilla by running the following commands:
export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && for p in ../mozilla-1.4-*.patch do patch -Np1 -i $p done |
According to the financial institutions, the following hack makes your browser insecure. You have been warned. Many sites use an MS-IE specific tag (autocomplete=off) to prevent autocomplete from working in some forms. This tag is now supported in Mozilla to appease the financial institutions. As per the requirements of the financial institutions, they will not even accept a solution where this a preference option. However our opinion is that it should be in the hands of the user. To enable autocomplete to bypass this restriction, we need to make a slight modification in the code.
Open the file extensions/wallet/src/wallet.cpp in the Mozilla source tree and search for the line:
#define WALLET_DONT_CACHE_ALL_PASSWORDS |
./configure --prefix=/usr \ --enable-default-mozilla-five-home \ --enable-toolkit-gtk2 --enable-default-toolkit=gtk2 \ --with-x --with-system-zlib \ --with-system-jpeg --with-system-png --with-system-mng \ --enable-xft --enable-crypto \ --enable-java-supplement \ --disable-accessibility \ --disable-tests --disable-debug \ --disable-logging --enable-reorder \ --enable-strip \ --enable-cpp-rtti --enable-extensions=all && make && make install && install -d /usr/include/mozilla-1.4/nss && cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.4/nss && ln -nsf mozilla-1.4 /usr/include/mozilla && ln -nsf mozilla-1.4 /usr/lib/mozilla && cd /usr/lib/mozilla-1.4 && export LD_LIBRARY_PATH="/usr/lib/mozilla-1.4" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.4" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-1.4 -name *.rdf` |
Each of these switches can be added to the configure line in order to have the described effect on the Mozilla compile.
--enable-elf-dynstr-gc: Removes un-referenced strings from ELF shared objects generated during the build. Note that this option breaks build on alpha.
--disable-mailnews: Disable the mail and news clients.
--disable-ldap: Disable LDAP Support, recommended if mail is disabled.
--enable-calendar: Build the calendar client. You will need to download the calendar source via CVS since it is not included with the release source. (Warning, this option is not yet stable).
--enable-xterm-updates: This option is for enabling the xterm title with the current command when compiling.
--enable-plaintext-editor-only: Disable support for HTML editing. Do not use this switch if you are building the mail-news component.
Add the following env variable (The variable is named Phoenix since that was the original name for the Mozilla Firebird project):
export MOZILLA_PHOENIX="1" |
Make sure that the following switches are passed to ./configure: --disable-calendar and --disable-mailnews.
We recommend installing in a separate prefix such as --prefix=/opt/firebird-0.6.1 to prevent clashes with an installed Mozilla.
The Mozilla Firebird executable is MozillaFirebird.
Add the following env variable:
export MOZ_THUNDERBIRD="1" |
Make sure that the following switches is passed to ./configure: --disable-calendar.
We recommend installing in a separate prefix such as --prefix=/opt/thunderbird-0.2 to prevent clashes with an installed Mozilla.
The Mozilla Thunderbird executable is thunderbird.
export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" |
--prefix=/usr: Previously mozilla did not support the make install option. Hence the package was installed in /opt. The package now supports "make install" and follows the FHS guidelines for installation. Hence the book now recommends installation in a system wide prefix such as /usr .
--enable-toolkit-gtk2 |
--with-system-zlib --with-system-jpeg \ --with-system-png --with-system-mng |
--enable-xft: Enable the Xft support. You need fontconfig or the latest XFree86 version to enable xft.
--enable-crypto: Enable the Personal Security Manager to enable SSL connections.
--disable-jsd --disable-accessibility \ --disable-tests --disable-debug \ --disable-dtd-debug \ --disable-logging --enable-reorder \ --enable-strip \ --enable-cpp-rtti |
--enable-extensions=...: Enables extensions. If you want, you can disable all extensions other than the browser by changing this switch to --enable-extensions="default,-venkman,-inspector,-irc".
install -d /usr/include/mozilla-1.4/nss cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.4/nss |
ln -nsf mozilla-1.4 ...: Mozilla installs headers and libraries in version specific directories. This link makes symbolic links so that applications that depend on Mozilla (such as OpenOffice , Galeon, etc.) don't need to know which version of Mozilla is installed.
export LD_LIBRARY_PATH="/usr/lib/mozilla-1.4" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.4" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-${VERSION} -name *.rdf` |
No specific configuration is required as long as the mozilla binary is in the path for the user. If Mozilla is installed in a non-standard location, then make a sym-link to the mozilla binary from /usr/bin. Same thing applies for Mozilla Firebird and Mozilla Thunderbird.
Many applications look for netscape when they need to open a browser. You may make the following symlink for convenience.
ln -sf mozilla /usr/bin/netscape |
For installing various Mozilla plugins, refer to Mozdev's PluginDoc Project