This chapter contains a wonderful selection of browsers. We hope you can find one you enjoy using or give them each a trial run.
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 prefer 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:
Download (HTTP): http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.8/source/mozilla-1.7.8-source.tar.bz2
Download (FTP): ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.8/source/mozilla-1.7.8-source.tar.bz2
Download MD5 sum: a6fa13d0c9243060bac6821fcff4b973
Download size: 29 MB
Estimated disk space required: 636 MB
Estimated build time: 12.9 SBU
To enable the Enigmail extension to the Mozilla mail client, 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.
http://downloads.mozdev.org/enigmail/src/enigmail-0.91.0.tar.gz
Download MD5 sum (Enigmail): 4ab46132f41b4f1718cd4141742f824b
Download MD5 sum (IPC): 4aa272b46c8cbf167dcd49a6d74cf526
Zip-2.31, GTK+-2.6.7, libIDL-0.8.5
GnuPG-1.4.1 (for the Enigmail extension)
libjpeg-6b, UnZip-5.52, GNOME Virtual File System-2.10.1 (to build the gnomevfs extension), libart_lgpl-2.3.17, Heimdal-0.7 or MIT krb5-1.4.1 (for the GSSAPI libraries to build the negotiateauth extension), Doxygen-1.4.3, Xprint, Electric Fence and Cairo
Compile Mozilla by running the following commands:
export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && export MOZ_CO_PROJECT="suite" && ./configure --prefix=/usr \ --with-default-mozilla-five-home=/usr/lib/mozilla \ --with-system-zlib \ --with-system-png \ --enable-application=suite \ --enable-default-toolkit=gtk2 \ --enable-extensions=all \ --enable-crypto \ --enable-xft \ --enable-xinerama \ --enable-optimize \ --enable-reorder \ --enable-strip \ --enable-cpp-rtti \ --enable-calendar \ --disable-freetype2 \ --disable-accessibility \ --disable-debug \ --disable-tests \ --disable-logging \ --disable-pedantic \ --disable-installer && make
You should add the --with-system-jpeg switch to the configure script if you have libjpeg installed.
If you're building the Mozilla mail and news clients and plan to install the Enigmail extension, execute the following steps:
tar -zxf ../enigmail-0.91.0.tar.gz -C extensions && tar -zxf ../ipc-1.1.2.tar.gz -C extensions && build/autoconf/make-makefile extensions/ipc extensions/enigmail && make -C extensions/ipc && make -C extensions/enigmail
Install Mozilla (as the root user) as follows:
make install && install -v -d -m755 /usr/include/mozilla-1.7.8/nss && cp -v -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.7.8/nss && ln -v -nsf mozilla-1.7.8 /usr/include/mozilla && if [ -d /usr/lib/mozilla/plugins ]; then mv -v /usr/lib/mozilla/plugins/* /usr/lib/mozilla-1.7.8/plugins rm -v -rf /usr/lib/mozilla fi && ln -v -nsf mozilla-1.7.8 /usr/lib/mozilla
If you're installing the Enigmail extension, issue the following commands as the root user:
make -C extensions/ipc install && make -C extensions/enigmail install
Some libraries, including the Netscape Portable Runtime (NSPR) and Network Security Services (NSS) 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. As the root user, move them as follows:
for i in \ lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk do mv -v /usr/lib/mozilla-1.7.8/$i /usr/lib/ ln -v -sf ../$i /usr/lib/mozilla-1.7.8/ done
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 unprivileged users to run mozilla. Enable multi-user operation by executing the following:
cd /usr/lib/mozilla-1.7.8 && export LD_LIBRARY_PATH="$PWD" && export MOZILLA_FIVE_HOME="$PWD" && ./regxpcom && ./regchrome && touch `find . -name *.rdf`
You should run /usr/bin/mozilla once as the root user (or any user with write privileges) to create some necessary additional files in the /usr hierarchy.
Lastly, unset the build variables from the unprivileged user's environment:
unset MOZILLA_OFFICIAL && unset BUILD_OFFICIAL && unset MOZ_CO_PROJECT
You may wish to run ./configure --help and review each of the listed options to discover what affect they have on the build. Feel free to add or remove options to tailor the build to your desires. Listed below are some common options not listed above but can be added to the configure command in order to have the described effect on the Mozilla compile.
--with-system-jpeg: Uses the system-installed copy of libjpeg instead of the bundled copy.
--enable-elf-dynstr-gc: Removes un-referenced strings from ELF shared objects generated during the build. Note that this option breaks the build on alpha.
--disable-mailnews: Disables the mail and news clients.
--disable-ldap: Disables LDAP support, recommended if mail is disabled.
--enable-xterm-updates: Displays the current command in the xterm window title during the compilation.
--enable-plaintext-editor-only: Disables support for HTML editing. Do not use this switch if you are building the mail-news component.
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.
--with-default-mozilla-five-home=/usr/lib/mozilla: Sets the default value for MOZILLA_FIVE_HOME.
--with-system-zlib --with-system-png : Use the system-installed versions of these packages.
--enable-application=suite: Identifies the build as a Mozilla suite build.
--enable-default-toolkit=gtk2: Use the GTK2 toolkit for graphics rendering.
--enable-extensions=all: Enables all available extensions. If you want, you can disable any or all extensions other than the browser by changing this switch to --enable-extensions="default,-venkman,-inspector,...". For a short description of the various extensions available with the Mozilla source, see http://linuxfromscratch.org/~tushar/downloads/mozilla-extensions.txt.
--enable-crypto: Enable the Personal Security Manager to enable SSL connections.
--enable-calendar: Builds the calendar application. Removed this parameter if you don't wish to build it.
--enable-xft; --disable-freetype2: Enable Xft support which automatically pulls in the FreeType libraries.
--enable-xinerama; --enable-optimize; --enable-reorder; --enable-strip; --enable-cpp-rtti --disable-accessibility; --disable-debug; --disable-tests; --disable-logging; --disable-pedantic; --disable-installer: Various options that affect what components are built and some optimization options. You can pick and choose from these options. More information on them, and many other available options, can be found by running ./configure --help.
install -d /usr/include/mozilla-1.7.8/nss; cp -Lf ...: Copy the NSS interface headers that are not copied by make install.
if [ -d /usr/lib/mozilla/plugins ] ... fi: Some applications may have already installed Mozilla plugins. This set of commands move any existing plugins to the newly created plugin directory, then removes the existing /usr/lib/mozilla directory.
ln -nsf mozilla-1.7.8 ...: Mozilla installs headers and libraries in version specific directories. These commands 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.
No specific configuration is required as long as the mozilla script is in the user's path. If Mozilla is installed in a non-standard location, then make a symlink to the mozilla script from /usr/bin.
Many applications look for netscape when they need to open a browser. You may make the following symlink for convenience (as the root user).
ln -v -sf mozilla /usr/bin/netscape
For installing various Mozilla plugins, refer to Mozdev's PluginDoc Project. If you have JDK-1.5.0 already installed, create the following link as the root user to utilize the JAVA plugin:
ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/lib/mozilla-1.7.8/plugins
Last updated on 2005-08-01 13:29:19 -0600