%general-entities; ]> Mozilla-&mozilla-version; Introduction to <application>Mozilla</application> Mozilla is a browser suite, the Open Source sibling of Netscape. It includes the browser, composer, mail and news clients, a calendar client and an IRC client. The Mozilla project also hosts two subprojects that aim to satisfy the needs of users who don't need the complete browser suite or like to have separate applications for browsing and e-mail. These subprojects are Mozilla Firefox, (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 separate sections: Package information Download (HTTP): Download (FTP): Download size: &mozilla-size; Estimated Disk space required: &mozilla-buildsize; Estimated build time: &mozilla-time; Additional downloads To enable the Enigmail extension to the Mozilla and Thunderbird mail clients, you'll need to download the two tarballs below. The Enigmail extension allows users to access the authentication and encryption features provided by the GnuPG package. <application>Mozilla</application> dependencies Required , , , and Recommended (for Enigmail extension) Installation of <application>Mozilla</application> Do not install Mozilla, Mozilla Firefox and Mozilla Thunderbird with a single prefix since they install identically named files. The BLFS Book installs Mozilla in /usr while Mozilla Firefox and Mozilla Thunderbird are installed in /opt. Compile Mozilla by running the following commands: export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && ./configure --prefix=/usr \ --with-default-mozilla-five-home=/usr/lib/mozilla \ --enable-default-toolkit=gtk2 \ --with-x --with-system-zlib \ --with-system-jpeg --with-system-png --with-system-mng \ --enable-xft --enable-crypto \ --disable-accessibility \ --disable-tests --disable-debug \ --disable-logging --enable-reorder \ --enable-strip --disable-pedantic \ --enable-cpp-rtti --enable-extensions=all && make If you're building the Mozilla mail and news clients and plan to install the Enigmail extension, execute the following steps: tar zxf ../enigmail-&enigmail-version;.tar.gz -C extensions && tar zxf ../ipc-&ipc-version;.tar.gz -C extensions && build/autoconf/make-makefile extensions/ipc extensions/enigmail && make -C extensions/ipc && make -C extensions/enigmail && make -C extensions/enigmail/build xpi && make -C extensions/enigmail/package xpi Install Mozilla as follows: make install && install -d /usr/include/mozilla-&mozilla-version;/nss && cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-&mozilla-version;/nss && ln -nsf mozilla-&mozilla-version; /usr/include/mozilla && ln -nsf mozilla-&mozilla-version; /usr/lib/mozilla Some libraries installed by Mozilla are also needed by other packages. These libraries should be in /usr/lib so that other packages can link against them. Move them as follows: for i in lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk do mv /usr/lib/mozilla-&mozilla-version;/$i /usr/lib/ ln -sf ../$i /usr/lib/mozilla-&mozilla-version;/ done Install the Enigmail extension as follows: make -C extensions/ipc install && make -C extensions/enigmail install To enable multi-user operation, execute the following: cd /usr/lib/mozilla-&mozilla-version; && export LD_LIBRARY_PATH="/usr/lib/mozilla-&mozilla-version;" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-&mozilla-version;" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-&mozilla-version; -name *.rdf` Optional Extra Switches Each of these switches can be added to the configure line in order to have the described effect on the Mozilla compile. : Removes un-referenced strings from ELF shared objects generated during the build. Note that this option breaks the build on alpha. : Disable the mail and news clients. : Disable LDAP support, recommended if mail is disabled. : Build the calendar client. : This option is for enabling the xterm window title with the current command when compiling. : Disable support for HTML editing. Do not use this switch if you are building the mail-news component. Command explanations export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" Set some variables that affect what and how the package is built. These two exports specify a distribution is being built. --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. Therefore the book now recommends installation in a system wide prefix such as /usr. Use the gtk2 toolkit. Use the system installed versions of these packages. : Enable Xft support. You need fontconfig or the latest XFree86 version to enable Xft. : Enable the Personal Security Manager to enable SSL connections. Various options that affect what components are built and some optimization options. You can pick and choose from these options. More information on them can be found in the Mozilla configure script help. Not all options are used in the instructions given above. : 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". For a short description of the various extensions available with the Mozilla source, see . install -d /usr/include/mozilla-&mozilla-version;/nss cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-&mozilla-version;/nss Copy the nss headers that are not copied by make install. ln -nsf mozilla-&mozilla-version; ...: Mozilla installs headers and libraries in version specific directories. This command makes symbolic links so that applications depending 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-&mozilla-version;" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-&mozilla-version;" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-${VERSION} -name *.rdf` Create the required component registries to enable multi-user installs. These steps should be preformed by the root user each time a Mozilla add-on is installed. This will allow normal users to run mozilla. Configuring <application>Mozilla</application> 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 symlink to the mozilla binary from /usr/bin. The same thing applies for Mozilla Firefox 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 Contents The Mozilla package contains mozilla and the Mozilla libraries and plugins. The various components such as composer and mail-news can be accessed from the menu after mozilla starts or via command-line switches to the mozilla binary.