Mozilla Notes
Contents
The Mozilla Organization has produced several software packages that are worth promoting, so this page is my attempt to help out with spreading the good word.
Compiling Mozilla
Compiling Mozilla proved to be very difficult for me. gemal.dk has a great set of steps for this, which I recommend following. Other issues I encountered:
- I tried compiling with Microsoft's free C++ tools, but I kept getting errors of the form:
It turns out that the midl.exe file isn't included in Microsoft's free tools, and after an hour or two of searching on Microsoft's site I couldn't figure out where to get it from.
configure: error: Midl version was found. Midl version must be 5.x.x (VC6*) or 6.00.0347 (VC7) or 6.00.0361 (VC.net 2003).
*** Fix above errors and then restart with "make -f client.mk build" - So I used this site as my reference, downloading cygwin and basically following his instructions. Note that you should download exactly what he tells you to get from Mingw, and install those files exactly as specified.
- My mozset.bat file ended up looking like this:
@echo off
set MOZ_TOOLS=c:\mozilla\moztools
set PATH=c:\mozilla\mingw\bin;c:\cygwin\bin;%MOZ_TOOLS%\bin;%PATH%
set HOME=c:\mozilla
set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
- In addition you must create a .mozconfig file with at least the following in it, otherwise you will get an error about the C compiler not being able to create executables:
Place the .mozconfig file into your
# basic mozconfig file with minimum requirements for MinGW gcc build
CC=gcc
CXX=g++
CPP=cpp
AS=as
LD=ld
# the following options don't yet work under gcc-on-win32
ac_add_options --disable-accessibility
ac_add_options --disable-activex
c:\mozilla\mozilla\
directory. -
This error:
was resolved by deleting the entire Mozilla tree, starting over, and doing a
make
make[1]: Entering directory `/cygdrive/c/mozilla/mozilla'
make[1]: *** No targets. Stop.
make[1]: Leaving directory `/cygdrive/c/mozilla/mozilla'
make: *** [build] Error 2
make -f client.mk build_all_depend
instead ofmake -f client.mk build_all
. - To get the code from CVS:
make -f client.mk pull_all
- To update the code from CVS:
make -f client.mk checkout
- If dos2unix fails, make sure the cygutils package is installed.
- The error:
was resolved by updating the PATH variable so that Cygwin was before MOZ_TOOLS.
make[4]: Entering directory `/cygdrive/c/mozilla/mozilla/nsprpub'
cd config; /usr/bin/make -j1 export
make[5]: Entering directory `/cygdrive/c/mozilla/mozilla/nsprpub/config'
sh /cygdrive/c/mozilla/mozilla/nsprpub/build/cygwin-wrapper cl -Fonow.obj -
c -W3 -nologo -GF -Gy -MDd -Od -Z7 -UNDEBUG -DDEBUG_wrh2 -UWINNT -DMOZILLA
_CLIENT=1 -DDEBUG=1 -DXP_PC=1 -DWIN32=1 -D_DEBUG=1 -DWIN95=1 -D_PR_GLOBAL_THREAD
S_ONLY=1 -D_X86_=1 -DFORCE_PR_LOG /cygdrive/c/mozilla/mozilla/nsprpub/config/now.c
exec: cl: not found
make[5]: *** [now.obj] Error 127
- Note that compiling takes a long, long, long time, and uses up whatever diskspace it can get. Compiling on a Pentium-1133 with 256MB of RAM took me over four hours and ate up 3.6GB of available disk space. You have been warned.
- Once compiled, all executables are found in the
mozilla/dist/bin
directory.
Importing Email From Eudora
At present Mozilla will import mail from Eudora, but due to Mozilla bug 3157 it is likely that the imported mail will display HTML tags, rather than displaying the message as HTML. To clean up the imported mail I recommend using this Java utility that will automatically clean up the imported mail. It still isn't perfect (backup your mail file before running!) but it works fine on the two different (large) Eudora installations that I've tested against.
If you prefer the more painful manual approach you can do the following:
- Compact all Mozilla mail folder using the File -> Compact Folders option in Mozilla.
- Close Mozilla and then back up all of the Mozilla mail files located in
C:\Documents and Settings\user\Application Data\Mozilla\Profiles\default\xxxxxxx.slt\Mail\mailbox\
. - Using a text editor, open any mailbox file within the
C:\Documents and Settings\user\Application Data\Mozilla\Profiles\default\xxxxxxx.slt\Mail\mailbox\
directory. First, delete all opening and closing<x-flowed>
tags.From - Mon Jan 1 00:00:00 1965
Return-Path: foo@bar.com
Received: from first.bar.com (first.bar.com [255.255.255.255]) by second.yahoo.com
Message-ID: <580F4ACFCD8F4E439B06B815110418C750DE77@third.bar.com>
From: "Foo, Bar" <foo@bar.com>
To: "Ryan Holliday" <ryan.holliday@gmail.com>
Subject: Hello
Date: Wed, 22 May 2002 12:29:42 -0700
Content-transfer-encoding: 8bit
<x-flowed>
<x-html>
<b>This is an HTML e-mail</b>
</x-html>
</x-flowed>
- Now look for any messages containing HTML. For each message, verify that the message headers contain a
Content-Type
type tag and that theContent-Type
is an HTML type. If noContent-Type
entry is present, add the line "Content-type: text/html
" to the message headers.From - Mon Jan 1 00:00:00 1965
Return-Path: foo@bar.com
Received: from first.bar.com (first.bar.com [255.255.255.255]) by second.yahoo.com
Message-ID: <580F4ACFCD8F4E439B06B815110418C750DE77@third.bar.com>
From: "Foo, Bar" <foo@bar.com>
To: "Ryan Holliday" <ryan.holliday@gmail.com>
Subject: Hello
Date: Wed, 22 May 2002 12:29:42 -0700
Content-type: text/html
Content-transfer-encoding: 8bit
<x-flowed>
<x-html>
<b>This is an HTML e-mail</b>
</x-html>
</x-flowed>
- Delete the
*.msf
file that corresponds to the mailbox that was edited. For example, if theInbox
file was modified, delete theInbox.msf
file. - Restart Mozilla mail. A new
*.msf
file should be generated and the mail should appear correctly.
Importing Mozilla Email Into Thunderbird
The ability to import existing email from the Mozilla suite into Thunderbird will probably be added in a future release, but for now the steps listed below are the best way of importing that I'm aware of. Note that there is a FAQ about this, but it suggests importing the entire Mozilla profile which is overkill. Please be aware that the suggestions below are not guaranteed to work, although they work for me. Use at your own risk.
- Start Thunderbird for the first time and create a mailbox with the same name and settings as your current Mozilla mailbox.
- Copy the
C:\Documents and Settings\user\Application Data\Mozilla\Profiles\default\xxxxxxx.slt\Mail\
folder toC:\Documents and Settings\user\Application Data\Thunderbird\Profiles\default\xxxxxxx.slt\Mail\
. This will copy all existing email messages. - Copy the abook.mab file to import your address book.
- To transfer mail server settings you can either copy the prefs.js file, or you can copy only those preferences within prefs.js that deal with mail.
- To copy the junk mail training file, copy the training.dat file. Be aware that Thunderbird may use different junk mail settings, so this may actually adversely affect junk mail handling.
Dual-Boot Configurations
I'm running both Linux and Windows XP on my laptop, so to share data between the two I did the following:
Thunderbird
- Create a FAT32 partition that can be read by both Windows and Linux.
- Copy all files from the Windows
C:\Documents and Settings\user\Application Data\Thunderbird\Profiles\default\xxxxxxx.slt\Mail\mail-account/
folder to a folder on the shared partition. - In Thunderbird, under the "Tools->Account Settings->Server Settings" tab, change the "Local Directory" folder to be the directory created in step two.
Firefox
- Copy the Windows
C:\Documents and Settings\user\Application Data\Mozilla\Firefox\Profiles\xxxxxxx.default\bookmarks.html
file to a location on the shared partition. - Add the new location of the bookmarks.html file to the
C:\Documents and Settings\user\Application Data\Mozilla\Firefox\Profiles\xxxxxxx.default\prefs.js
file as follows:// this is the shared bookmark location for Windows
user_pref("browser.bookmarks.file", "E:\\application-data\\mozilla\\firefox\\bookmarks.html");