Mozilla is a browser suite, the Open Source sibling of Netscape. It includes the browser, composer, mail client, a calendar client and an IRC client.
The Mozilla project also hosts two subprojects that aim to cater to the needs of users who don't need the complete browser suite or like to have seperate applications for browsing and e-mail. These subprojects are 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). The build instructions for these two applications are discussed in this section instead of having a seperate section since the build instructions are very similar to those for Mozilla. In addition, because of the similarity, only the changes required with respect to the Mozilla instructions are mentioned.
Download (HTTP): http://ftp.mozilla.org/pub/mozilla/releases/mozilla1.5/src/mozilla-source-1.5.tar.bz2
Download (FTP): ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.5/src/mozilla-source-1.5.tar.bz2
Download size: 39 MB
Estimated Disk space required: 550 MB
Estimated build time: 22.64 SBU
FreeType-2.1.5, XFree86-4.3.0.1, Zip-2.3, expat-1.95.6, ATK-1.2.4, Pango-1.2.5, pkgconfig-0.15.0, GLib-2.2.3, GTK+-2.2.4, libIDL-0.8.2, lcms-1.11, libjpeg-6b, libmng-1.0.5, libpng-1.2.5 and which-2.14
GnuPG-1.2.3 (for Enigmail extension)
Enigmail Extension (Useful only if Mozilla Mail is built): http://downloads.mozdev.org/enigmail/src/enigmail-0.76.7.tar.gz
Inter Process Communicaton Extension (Needed for Enigmail): http://downloads.mozdev.org/enigmail/src/ipc-1.0.4.tar.gz
Note: 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:
Then delete or comment out the line. Now, if anyone tells you MS-IE is user friendly, give them this example!
#define WALLET_DONT_CACHE_ALL_PASSWORDS
If you plan to install Enigmail, extract the ipc and engimail tarballs in the extensions directory.
Compile Mozilla by running the following commands:
export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && ./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 --disable-pedantic \ --enable-cpp-rtti --enable-extensions=all && make |
If installing Enigmail, execute the following steps:
cd extensions/ipc && ./makemake -r && make && cd ../enigmail && ./makemake -r && make && cd ../.. |
Install Mozilla as follows:
make install && install -d /usr/include/mozilla-1.5/nss && cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.5/nss && ln -nsf mozilla-1.5 /usr/include/mozilla && ln -nsf mozilla-1.5 /usr/lib/mozilla |
Install Enigmail as follows:
for i in components/enigmime.xpt \ components/ipc.xpt components/libenigmime.so components/enigmail.js \ components/enigmail.xpt chrome/enigmail.jar do install dist/bin/$i /usr/lib/mozilla-1.5/$i done |
To enable multi-user operation, execute the following:
cd /usr/lib/mozilla-1.5 && export LD_LIBRARY_PATH="/usr/lib/mozilla-1.5" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.5" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-1.5 -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.
--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 MOZ_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.7 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.3 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.5/nss cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.5/nss |
ln -nsf mozilla-1.5 ...: 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.5" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.5" && ./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
The Mozilla package contains mozilla .The various components such as composer, mail-news can be accessed from the menu after mozilla starts or via command-line switches to the mozilla binary.