Difference between revisions of "Eva Assignment 1"

From CDOT Wiki
Jump to: navigation, search
 
(revert)
 
(3 intermediate revisions by 2 users not shown)
Line 66: Line 66:
  
 
=Configuration=
 
=Configuration=
Here are the steps that I took to configure the environment for the Firefox build:
+
My configuration process is following what Liz Chak []has on her documentation [http://cs1.senecac.on.ca/wiki/index.php/Liz_Chak_Assignment_1#Configure_the_environment] for the build.  
==Configure the environment==
 
# Make a directory for the source and build system:<pre>$mkdir C:\proj</pre>
 
# Make a directory called <b>moztools</b> in <b>C:\proj\</b>
 
# Download and extract the [http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip static moztools libraries for Visual C++] to <b>C:\proj\moztools</b>
 
# To setup the appropriate environment variables and paths, create a build script called <b>buildsetup.bat</b> in <b>C:\proj</b>. Copy and paste the following script into buildsetup.bat:
 
<pre>
 
@echo off
 
 
 
rem --- CVS Setup
 
SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
 
SET CVS_RSH=ssh
 
 
 
rem --- Setup the paths to the moztools build libraries
 
set MOZ_TOOLS=C:\proj\moztools
 
set GLIB_PREFIX=%MOZ_TOOLS%
 
set LIBIDL_PREFIX=%MOZ_TOOLS%
 
 
 
rem --- Scrub these variables first
 
SET INCLUDE=
 
SET LIB=
 
SET PATH=C:\;C:\windows\system32;C:\windows\system32\wbem
 
 
 
rem --- Prepend cygwin
 
SET PATH=C:\cygwin\bin;%PATH%
 
 
 
rem --- Setup VC8 compiler environment vars
 
CALL "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
 
 
 
rem --- Add glib/libidl to build environment
 
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\bin
 
SET INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%
 
SET LIB=%GLIB_PREFIX%\lib;%LIB%
 
 
 
rem --- moztools comes last after glib/libIDL
 
SET PATH=%PATH%;%MOZ_TOOLS%\bin
 
</pre>
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;&nbsp;Run the <b>buildsetup.bat</b> script in <b>C:\proj</b>:<pre>$buildsetup.bat</pre>
 
*To check which program you're running, type <b>which link</b> in the command line after you run the environment variable script (buildsetup.bat) and it will tell you the link:
 
<pre>
 
$which link
 
$/cygdrive/c/Program Files/Microsfot Visual Studio 8/VC/BIN/link
 
</pre>
 
*It will be  the cygwin or Microsoft link depending on which one you set in the <b>buildsetup.bat</b>
 
 
 
  
 
==Check out mozilla source==
 
==Check out mozilla source==
#Login to the mozilla CVS repository in <b>C:\proj</b>: <pre>$cvs login</pre>
+
Same as Liz Chak documentation. [http://cs1.senecac.on.ca/wiki/index.php/Liz_Chak_Assignment_1#Check_out_mozilla_source]
#Type in <b>anonymous</b> as the password when prompted (NOTE: ignore the error message related to .cvspass)
 
#Checkout the build script in <b>C:\proj\</b><pre>$cvs co mozilla/browser/config mozilla/client.mk</pre>
 
#* A <b>C:\proj\mozilla</b> directory is created.
 
#* It takes awhile for the source to get downloaded. Be patient.
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;&nbsp;After source is downloaded successfully, create a text file  with the filename <b>.mozconfig</b> (filename should be exactly how it's spelt: .mozconfig) in the editor of your preference in <b>C:\proj\mozilla</b>
 
<pre>
 
# Building Firefox Trunk with Debugging
 
. $topsrcdir/browser/config/mozconfig
 
 
 
# Put all obj files in one place, not in src tree
 
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-objdir
 
ac_add_options --disable-static
 
ac_add_options --enable-shared
 
 
 
# Debug Build Setup Options
 
ac_add_options --disable-optimize
 
ac_add_options --enable-debug
 
 
 
# I'm using Canvas for my work
 
ac_add_options --enable-canvas
 
 
 
# I disabled the installer
 
ac_add_options --disable-installer
 
</pre>
 
*Note that I have disabled static build, meaning my Firefox will build dynamically: <pre>ac_add_options --disable-static</pre> A static build is one that doesn't need external libraries to run. To run a build dynamically, you require all the development libraries and so on installed. A static build takes more time than a dynamic build.
 
 
 
*Note that I have disabled installer to avoid a [[Liz_Chak_Assignment_1#Problem:_.22To_build_the_installer_makensis_is_required_in_your_path.22_error|problem]] later: <pre>ac_add_options --disable-installer</pre>
 
 
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;&nbsp;Get the full source from CVS (By default, you will build HEAD, which is Firefox 3.0):
 
<pre>
 
$cd \proj\mozilla
 
$make -f client.mk checkout
 
</pre>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;&nbsp;Build the source in <b>C:\proj\mozilla</b> <pre>$make -f client.mk build</pre>
 
 
 
The time it takes to build Firefox depends on your machine. It could take as little as 16 minutes or as long as 3 hours! Just be patient and a miracle will happen (unless the console spurts out error code - refer to my list of [[Liz_Chak_Assignment_1#Problems_and_Solutions|problems]] if you encounter any, hopefully it helps).
 
 
 
Your newly built monster, I mean, Firefox will be in <b>C:\proj\mozilla\firefox-objdir\dist\bin</b>. Double click on the executable file that looks like a minefield (and cross your fingers to hope that it wouldn't crash your system).
 
 
 
=My first failed attempt to build Firefox 1.8.1=
 
After glancing through the [http://developer.mozilla.org/en/docs/Build_Documentation Mozilla Build Documentation], I only needed one word  to describe how I felt, overwhelmed! I started by skimming through the text, and downloaded all the required tools, configured the environment, checked out the source before I started my build. I ran into the problem: <b>The linker major version does not match the compiler suite version7</b>
 
 
 
Without researching further on the problem, I consulted one of my classmates and he said that I had to re-install Visual Studio 2003.  I was skeptical about his way of resolving this problem (and also it would be a hassle since I've uninstalled it a week before this build), so I looked into it further and found out from [http://forums.mozillazine.org/viewtopic.php?t=438157&sid=03462713fcf201b52e92791b2c65d14f Mozillazine] that the solution is to install Cygwin.
 
 
 
I tried a new clean build with [http://cs.senecac.on.ca/%7Edavid.humphrey/writing/firefox-win32-build.html David Humphrey's Guide to Building Firefox on Win32 using Visual Studio .NET 2005] (very concise and recommended for the heroes who want to build Firefox).
 
 
 
 
 
=Problems and Solutions=
 
==Problem: "To build the installer makensis is required in your path" error==
 
 
 
The very first problem I encountered after I started to build took me merely a couple minutes to solve thanks to my great old friend [http://www.google.com Google]. The command prompt spurted out this error message:
 
 
 
<pre>
 
checking for makensis... no
 
configure: error: To build the installer makensis is required in your path.
 
To build without the installer reconfigure using --disable-installer.
 
</pre>
 
 
 
==Solution: "To build the installer makensis is required in your path" error==
 
 
 
I found my solution on a forum, [http://forums.mozillazine.org/viewtopic.php?t=92495&start=1320&sid=ad7fac8c3bc80a7373a0bf8957a15971 Mozillazine]. Basically I just added "ac_add_options --disable-installer" to my <b>.mozconfig</b> file.
 
 
 
 
 
==Problem: "target `c' doesn't match the target pattern" error==
 
 
 
The next problem I encountered was a little trickier. The error code was:
 
 
 
<pre>
 
../coreconf/rules.mk:365: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:406: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:407: warning: overriding commands for target `c'
 
../coreconf/rules.mk:366: warning: ignoring old commands for target `c'
 
../coreconf/rules.mk:437: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:438: warning: overriding commands for target `c'
 
../coreconf/rules.mk:407: warning: ignoring old commands for target `c'
 
../coreconf/rules.mk:445: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:446: warning: overriding commands for target `c
 
../coreconf/rules.mk:438: warning: ignoring old commands for target `c'
 
../coreconf/rules.mk:449: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:450: warning: overriding commands for target `c'
 
../coreconf/rules.mk:446: warning: ignoring old commands for target `c'
 
../coreconf/rules.mk:464: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:465: warning: overriding commands for target `c'
 
../coreconf/rules.mk:450: warning: ignoring old commands for target `c'
 
../coreconf/rules.mk:468: target `c' doesn't match the target pattern
 
../coreconf/rules.mk:469: warning: overriding commands for target `c'
 
../coreconf/rules.mk:465: warning: ignoring old commands for target `c'
 
../coreconf/rules.mk:966: *** multiple target patterns.  Stop.
 
</pre>
 
 
 
My typical solution to any problems is "consulting" my old friend [http://www.google.com Google]. It seemed like quite a few people encountered the same problem. I found out from a forum that the problem was that I didn't have the right version of Make. I had Make 3.81 which should have been Make 3.80.
 
 
 
I pulled up the [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 GNU Tools for Microsoft Windows (Cygwin)] installation guide again, and realized that I have missed out the part where it mentioned <b>make 3.80 (not 3.81!) -- dependency analyzer for software builds (Devel category)</b> as one of the required packages. <b>However, when I reinstalled Cygwin again, it didn't give me an option to choose Make 3.80!! </b>
 
<b>[http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 Windows Build Documentation is updated - 17:15, Sept 16 2006 (EST)]</b>
 
  
I tried various solutions (hunted for an older version of Cygwin to install and linking Make 3.80 from Cygwin with ln -s command) but my build still failed. It was frustrating, because through most of the forums that discussed about this problem, it seemed like everyone didn't have a problem "rolling back to version 3.80". However, the version of Cygwin that I installed didn't have the older version of Make and I wasn't the only person experiencing that problem at that time. Both my classmate and I tried the various solutions as per my suggestions but they all failed. After several unsuccessful attempts, I consulted [[User:Sancus|Sancus (Andrei Hajdukewycz)]] for a solution (which was easier than I thought), and the miracle happened, Firefox was then successfully built!! (Sheds a tear of joy..)
 
  
==Solution to "target `c' doesn't match the target pattern" error==
+
=Problems Encountered=
*Install Cywgin from [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 here]
+
I did not encounter any problem during the build, because Liz Chak instruction is very clear, I follow every step and I got thru it without a single problem. I know it is not too good for my experience, but then at least I can follow instruction.  
*Download [http://cygwin.paracoda.com/release/make/make-3.80-1.tar.bz2 Make 3.80] (Make sure the existing version on your system is cleanly removed all else there will be version conflicts)
 
*Extract it and install it
 
*As it is a binary package, you could just grab the Make executable file (make.exe) from <b>/usr/bin/</b> and drop it in <b>cywgin/bin</b> (this will overwrite the existing Make executable)
 
*Double check if you have the right Make package by typing this command (change to the directory <b>cywgin/bin</b>):
 
<pre>
 
$ make -v
 
GNU Make 3.80
 
</pre>
 
  
<i>Voila!</i>
+
The major problems I have encountered are prior to the set up. Mostly related to hardware and Windows installation issues. At first, my 80GB was partitioned this way. 10GB for running Windows XP, 20GB for entertainment files, 30GB for school files, the rest is still waiting for use. I thought I can just free up the 20GB and the rest of the spaces to install a new piece of Windows, but it doesn't work that way. I need to free them all up to have a bigger partition again. Hence, I guess I learned a lesson not to partition too less spaces for my drive. Also, need to back up the school files in the 30GB first, because I do not want to lose the School files. I did not have a empty CD-R or DVD-R on hand, the only thing I have is a new 160GB harddrive, so it took me a while to figure out why I could ont run my harddrive at the same time. Mainly because I didn't make the drive a master and a slave. I finally figured that out and start Windows installation.
  
I also learned from [[User:Sancus|Sancus]] that you can dump the Make package in your Cygwin packages temp directory and the installer will let you install it (I didn't actually try that). The mirrors don't seem to have properly set up setup.hint files to point to the old versions of the Make files.
+
Another problem that I encountered was installing VS .NET 2005. As I mentioned earlier, the problem was not having Windows Updated to Service Pack too, plus using WINRAR to extract the ISO instead of Daemon. To fix this problem is not hard, just very time consuming, you probably need to give a whole night to do the Windows Updated until it get the Service Pack 2 update done. My solution to the WINRAR problem is to uninstalled the WINRAR and using Daemon only to mount the ISO file.  
 
 
==Miscellaneous problems and solutions==
 
I encountered an error code when I tried to build <b>without double-checking if I check-marked all the packages required for the Firefox build during my Cygwin installation</b>. This problem will also occur if you are installing an older version of Cygwin which doesn't have all the packages required for the Firefox build. Here is a sample of the error code:
 
<pre>
 
make[2]: Entering directory '/cygdrive/c/proj/mozilla/firefox-objdir/config'
 
make[3]: Entering directory '/cygdrive/c/proj/mozilla/firefox-objdir/config/mkdepend'
 
make[3]: Leaving directory '/cygdrive/c/proj/mozilla/firefox-objdir/config/mkdepend'
 
/usr/bin/perl -I/cygdrive/c/proj/mozilla/config /cygdrive/c/proj/mozilla/config/bdate.pl build_number
 
make[2]: *** [build_number] Error 255
 
make[2]: Leaving directory '/cygdrive/c/proj/mozilla/firefox-objdir/config'
 
make[1]: *** [default] Error 2
 
make[1]: Leaving directory '/cygdrive/c/proj/mozilla/firefox-objdir'
 
make: *** [build] Error 2
 
</pre>
 
 
 
I believe this error occurred because the Make build tool couldn't find the Perl package.
 
  
  
Line 249: Line 84:
 
The following is a screen shot of "About Minefield" (Help -> About Minefield):
 
The following is a screen shot of "About Minefield" (Help -> About Minefield):
  
[[Image:Liz_minefield.jpg]]
+
[[Image:eva_minefield.jpg]]
  
 
=Contributors=
 
=Contributors=
 
[[User:Sancus|Andrei Hajdukewycz]] (sancus)
 
: Helped me with placing Make 3.80 in Cygwin
 
  
 
[[User:David.humphrey|Dave Humphrey]] (dave)
 
[[User:David.humphrey|Dave Humphrey]] (dave)
 
: Well-documented and concise: [http://cs.senecac.on.ca/%7Edavid.humphrey/writing/firefox-win32-build.html David Humphrey's Guide to Building Firefox on Win32 using Visual Studio .NET 2005]  
 
: Well-documented and concise: [http://cs.senecac.on.ca/%7Edavid.humphrey/writing/firefox-win32-build.html David Humphrey's Guide to Building Firefox on Win32 using Visual Studio .NET 2005]  
  
[[User:djhamp-g|David Hamp-Gonsalves]] (inveigle)
+
[[User:Elichak|Liz Chak]] (elichak)
: Head start with the <b>first</b> attempt to build Firefox!
+
: Excellent documentation help me aids the build in very short time<b>first</b>
 
 
=Resources=
 
I wouldn't have successfully built without the following documentations:
 
*[http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites Windows Build Prerequisites]
 
*[http://cs.senecac.on.ca/%7Edavid.humphrey/writing/firefox-win32-build.html David Humphrey's Guide to Building Firefox on Win32 using Visual Studio .NET 2005]
 
*[http://forums.mozillazine.org/viewtopic.php?t=92495&start=1320&sid=ad7fac8c3bc80a7373a0bf8957a15971 Mozillazine]
 
*[http://cs.nyu.edu/rgrimm/teaching/fa05-oop/windows-make.html Getting Make to place nice with Cygwin]
 
* [http://acs.senecac.on.ca ACS]
 
* [http://www.cygwin.com Cygwin]
 
* [http://developer.mozilla.org/ Mozilla Developer Center]
 
* [http://developer.mozilla.org/en/docs/Build_Documentation Mozilla Build Documentation]
 
 
 
 
 
If it wasn't for the following people, I wouldn't have my great Firefox built:
 
*Special thanks to [[User:Sancus|Andrei Hajdukewycz]] for guiding me through the most difficult part of the build process and helping me have a little more understanding of the Firefox build!!
 
*[[User:David.humphrey|Dave Humphrey]]: Thanks for transferring your Firefox build knowledge. It definitely a great summary to the [http://developer.mozilla.org/en/docs/Build_Documentation Mozilla Build Documentation].
 
 
 
  
 
=Conclusion=
 
=Conclusion=
From my experience in building Mozilla Firefox, I have learned the value of working in a community. I wouldn't have successfully built one of the world's biggest projects hadn't I met [[User:Sancus|Sancus]] in irc://irc.mozilla.org/#seneca who gave me some pointers. The [http://forums.mozillazine.org Mozilla forums] are definitely helpful too, especially when the postings and discussions regard to the same problem you're encountering. Not only have I made a friend, I've also successfully built one of the world's biggest projects and have stepped my foot in the Mozilla community. This experience is definitely an eye-opener.
+
My Firefox build experience is a little disappointed. Because I did not experience much in the build stage. I was wishing to hit on more bugs than now, however, a lot of classmate already done the build, so by listening to their mistake, I avoided to do the same mistake they make and get thru the build too easily. I learned a lesson that if there are people giving instruction and did the same thing before and tell you about their experience, it helps you a lot. Hence, in order to contribute to other people is always document your experience, so that when others have the similar situation, they can take your experience as a guide.  
 
 
 
 
<big><b>Lessons learned:</b></big>
 
 
 
You have to start somewhere. By starting means actually <b>doing it</b>! Don't be intimidated. It might seem overwhelming but there are resources to help you go through that phase. Don't ever think that contributing to Mozilla is out of your realm of ability. If there is a will, there is a way!
 
 
 
The Mozilla guys/(girls?) are always there to help you. Get a copy of [http://chatzilla.hacksrus.com/ Chatzilla] or whichever IRC client you prefer and meet them online in these channels irc://irc.mozilla.org/#seneca, irc://irc.mozilla.org/#developers, irc://irc.mozilla.org/#firefox. A start would be outlining your problem in the main of the channel. Be sure to be <b>concise</b> and someone will reply you on the main or in a private chat. However, try solving the problem first before you consult anyone for help.
 
 
 
Don't outsmart anyone who tries to help you. Instead, just listen and consult a few people at the same time to compare which solution is most feasible. As the saying goes, you'll never learn if you don't fail. So maybe failing is sometimes a positive outlook to a problem! Contribute and transfer your knowledge by documenting what you went through with a problem and how you solved it. Making a contribution feels really good, trust me. Don't underestimate your ability, you'll never know till you try it!
 
 
 
And last of all <b>give credits to those who contributed to your project (even if it is trivial)</b>!
 
  
Thank you, time for some ice cream now!
+
Also, if you ever need to install your Windows to do build, leave yourself more time. Because the Windows set up takes forever.

Latest revision as of 17:09, 10 April 2007

Submitted by Eva Or (eor)

Introduction

Building this Firefox took me 4 full evening. The built of Firefox is on Windows XP platform using Visual Studio .NET 2005. The reason it took so long for me to finish this build is mainly because I need to reformat my 80GB harddrive to start with.

For me doing the build is not the hardest part, because most of the instruction given in the FAQ. However, getting all the others components to set up for the build procedure is really NOT fun. I have scan thru a few have my classmate's documentation and seems to me not many of them start from sketch like I did. Therefore, I hope my documentation could help those who start the build from formatting their harddrive and installing a new Windows.


Build Prerequisites

Hardware Requirements

My built is done on a system with the following hardware (it took about 2hours to perform a dynamic build):

  • Intel Pentium III 1.01GHz processor
  • 512 MB of RAM
  • 80 GB Hard Drive
  • Windows XP Professional operating system

Installing Windows

You might think a lot of people know how to install Windows. Yes, it is true; however, some people will think they don't need to update the service pack to use Windows. If you do that, you will hit a lot of trouble when you are installing Visual Studio 2005. Because installing Visual Studio 2005 requires Windows XP Service Pack 2. And it take a long time to finish ALL the Windows Update. The reason I have to install Windows again is becaus I partitioned my harddrive to 10GB for the Windows, which later on I found out that is surely not enough to run Windows with lots of application. Since I need to build the Firefox, I know that my existing 10GB C Drive will not be enough to run the build. Hence, reformatting the drive and installing a new Piece of Windows XP is neccessary for me. One thing I want to mention about my Harddrive is I partitioned it to 40GB for the Windows and the rest for Linux, if I feel like doing that in the future.

One thing I am not too sure about requirements of Windows Component. At first I was installing VS .NET 2005, however, because of the windows updates. I thought that I could installed the VS .NET 2003 instead. However, installing VS .NET 2003 requires the IIS component which was not installed to my Windows originally, so I have to install that specific component first. If you don't know where to install Windows component. You can go to Control Panel -> Add or Remove Programs -> Add or Remove Windows Components, then you will see the IIS option. Since I have IIS option on before I install the VS .NET 2005. I am not sure if it is required for VS .NET 2005. In case you hit any problem similar to that, you know what to do.

Tools Requirements

Before I proceed with the Firefox build, the following tools are installed:

Visual Studio.NET 2005

  • Obtain a copy of VS.NET 2005 from ACS downloads {Note: You need your Seneca Learn ID or Mercury ID to access the site).
  • Download Daemon Tools (or google for Daemon Tools) to extract the iso files.

NOTE: If you are going to burn the DVD, don't worry about extracting the ISO file. I hit a problem in here, and it wasted my whole night to figure out why I could not install the VS .NET 2005. My problem is I installed WINRAR, which it has a function to extract ISO file. However, WINRAR does not extract ISO properly, there are files missing during the extraction, so I during the mid way of my installation it always complains about missing files. Watch out on this. If you are only using Daemon, you will be ok. Make sure that you are mounting the iso not extracting the iso. Because extract is a WINRAR thing and mount is a Daemon thing.

  • Run the installer, it will cleanly install VS.NET 2005.


Cygwin

  • Download Cygwin here.
  • Run the installer.
  • Make sure that the following packages are checked during your installation or else you will run into:
    • ash -- (Base category)
    • coreutils -- (Base category)
    • cvs -- (Devel category)
    • diffutils -- (Base category)
    • findutils -- (Base category)
    • gawk -- (Base and Interpretors categories)
    • grep -- (Base category)
    • libiconv -- (Devel category)
    • make 3.80 (not 3.81!) -- (Devel category)
    • patchutils -- (Devel category)
    • perl -- (Interpreters category)
    • sed -- (Base category)
    • unzip -- (Archive category)
    • zip -- (Archive category)

Note: Make 3.80 is no longer available in the Cygwin setup installer.

Make 3.80

  • Download Make 3.80
  • Extract it and install it
  • As it is a binary package, you could just grab the Make executable file (make.exe) from /usr/bin/ and drop it in cywgin/bin (this will overwrite the existing Make executable)
  • Go to Start -> RUN -> cmd.exe this command (change to the directory cywgin/bin):
$ make -v
GNU Make 3.80

Note: If you cannot run the make command, that's mean you didn't set up the Path for cygwin/bin. If so, go to My Computer-> (right click) Properties -> Advanced Tab -> Environment Variables (button) --> select Path and add C:/cygwin/bin to it.

Configuration

My configuration process is following what Liz Chak []has on her documentation [1] for the build.

Check out mozilla source

Same as Liz Chak documentation. [2]


Problems Encountered

I did not encounter any problem during the build, because Liz Chak instruction is very clear, I follow every step and I got thru it without a single problem. I know it is not too good for my experience, but then at least I can follow instruction.

The major problems I have encountered are prior to the set up. Mostly related to hardware and Windows installation issues. At first, my 80GB was partitioned this way. 10GB for running Windows XP, 20GB for entertainment files, 30GB for school files, the rest is still waiting for use. I thought I can just free up the 20GB and the rest of the spaces to install a new piece of Windows, but it doesn't work that way. I need to free them all up to have a bigger partition again. Hence, I guess I learned a lesson not to partition too less spaces for my drive. Also, need to back up the school files in the 30GB first, because I do not want to lose the School files. I did not have a empty CD-R or DVD-R on hand, the only thing I have is a new 160GB harddrive, so it took me a while to figure out why I could ont run my harddrive at the same time. Mainly because I didn't make the drive a master and a slave. I finally figured that out and start Windows installation.

Another problem that I encountered was installing VS .NET 2005. As I mentioned earlier, the problem was not having Windows Updated to Service Pack too, plus using WINRAR to extract the ISO instead of Daemon. To fix this problem is not hard, just very time consuming, you probably need to give a whole night to do the Windows Updated until it get the Service Pack 2 update done. My solution to the WINRAR problem is to uninstalled the WINRAR and using Daemon only to mount the ISO file.


Minefield Screen Shot

The following is a screen shot of "About Minefield" (Help -> About Minefield):

Eva minefield.jpg

Contributors

Dave Humphrey (dave)

Well-documented and concise: David Humphrey's Guide to Building Firefox on Win32 using Visual Studio .NET 2005

Liz Chak (elichak)

Excellent documentation help me aids the build in very short timefirst

Conclusion

My Firefox build experience is a little disappointed. Because I did not experience much in the build stage. I was wishing to hit on more bugs than now, however, a lot of classmate already done the build, so by listening to their mistake, I avoided to do the same mistake they make and get thru the build too easily. I learned a lesson that if there are people giving instruction and did the same thing before and tell you about their experience, it helps you a lot. Hence, in order to contribute to other people is always document your experience, so that when others have the similar situation, they can take your experience as a guide.

Also, if you ever need to install your Windows to do build, leave yourself more time. Because the Windows set up takes forever.