Difference between revisions of "User:Vpmirand/Assignment1"

From CDOT Wiki
Jump to: navigation, search
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
!!!!WORK IN PROGRESS!!!!
+
[[Assignment_1_List | Go Back To List]]
  
 
=Introduction=
 
=Introduction=
  I first started off building Firefox on my Windows XP machine using Visual Studio.Net 2003.  Unfortunately I had some problems along the way and solved them by using Google.com and by asking for help in the IRC chat.  When I finally built Firefox I tried to run it but wasn’t successful because it crashed on me.  So I tried building it on two other hard drives and I got the same error.  Since I was short on time I decided to give Linux a try and see if I would be more successful with building Firefox on a Linux operating system.  
+
I first started off building <b>Firefox</b> on my <b>Windows XP Professional</b> machine using <b>Visual Studio.Net 2003.</b> Unfortunately I had some problems along the way and solved them by using Google.com and by asking for help in the IRC chat.  When I finally built Firefox I tried to run it but wasn’t successful because it crashed on me.  So I tried building it on two other hard drives and I got the same error.  Since I was short on time I decided to give Linux a try and see if I would be more successful with building Firefox on a Linux operating system.  
  
  I was finally able to build Firefox successfully on Ubuntu, which took me about one night to do.
+
I was finally able to build <b>Firefox</b> successfully on <b>Ubuntu</b>, which took me about one night to do. This document will cover the build requirements such as hardware and software that I needed in order to build Firefox successfully.  I will then discuss the steps that took me to fully complete the build and any problems that I encountered along the way.  I will end it off with some useful resources that I found and used throughout the process of the build and then talk about my experience with my first open source build.
This document will discuss the build requirements such as hardware and software that I needed in order to build Firefox successfully.  I will then focus on the steps that took me to fully complete the build and any problems that I encountered along the way.  I will end it off with some useful resources that I found and used throughout the process of the build and then talk about my experience   with my first open source build.
 
  
 
+
=Requirements=
=Build=
 
 
==Hardware==
 
==Hardware==
 +
My computer system:
  
 
<pre>
 
<pre>
Line 27: Line 26:
 
*Make
 
*Make
  
 +
=The Build=
 +
When I ran the build for the first time on Ubuntu I was bound to come in contact with some errors.     
 +
The first time I ran the build I encountered an error to do with missing packages.  Once that got resolved I ran the build a second time and came across another error to do with another missing package.  After getting the last package installed I ran the build a third time and finally got the  build to complete without any more errors.     
 +
 +
==Steps Took to Complete Build==
 +
*Asked Mike Lau a few questions about Ubuntu.
 +
*Installed the build –essential, which is the synaptic package manager (i.e. Library Manager). 
 +
<pre>
 +
sudo apt-get install build-essential
 +
</pre>
 +
*Installed the CVS library, from the synaptic package manager.
 +
*Added environment variables to my environment script ( /etc/environment)
 +
<pre>
 +
CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
 +
CVS_RSH=ssh
 +
</pre>
 +
*Logged into Mozilla CVS Repository.
 +
<pre>
 +
cvs login
 +
</pre>
 +
*Checked out the build script
 +
<pre>
 +
cvs co mozilla/browser/config mozilla/client.mk
 +
</pre>
 +
*Created my .mozconfig file.
 +
<pre>
 +
# Building Firefox Trunk with Debugging
 +
. $topsrcdir/browser/config/mozconfig
 +
</pre>
 +
*Checked out the full source code. 
 +
<pre>
 +
make -f client.mk checkout
 +
</pre>
 +
*Started build for Firefox.
 +
<pre>
 +
make -f client.mk build
 +
</pre>
 +
*Received an error during my build.  The [http://pastebin.ca/173662 error] stated that my /usr/bin/pkg-config was not found.
 +
*I knew I was missing a package but I wasn’t sure what the name of the package was. So I used Google to see if I could find a solution. I didn’t find any useful links so I asked Mike Lau if he had come across any errors like the one I had.
 +
*After speaking with Mike Lau, I got the packages that I needed.
 +
*I Installed packages libidl-dev and libgtk2.0-dev from the synaptic package manager.
 +
*After installing the packages I tried to rebuild Firefox again. 
 +
*Received another error during my build.  The [http://pastebin.ca/173672 error] stated that it could not compile a basic X program.  I knew that my int_types.h was missing so I knew that I was obviously missing a library but wasn’t sure which one. 
 +
*I used Google again to see if anyone had faced the same problem.  I found a link on [http://www.ubuntuforums.org/archive/index.php/t-232557.html Ubuntu Forums] that gave me a package libgtk2.0-dev to install.  But i had already installed it.
 +
*I then decided to try the IRC chat and pasted the [http://pastebin.ca/173672 error] that I received  and asked for some help.
 +
*Philip Vitorino offered to help me and explained to me that I was just missing a package.  I told him that I wasn't sure what package I was missing. I told him the packages that I had installed and he gave me a package to install.
 +
*I installed libxt-dev
 +
<pre>
 +
sudo apt -get install g++ libxt-dev
 +
</pre>
 +
*Rebuilded Firefox and left it running over night.
 +
*Next morning everything had gone smoothly, I ran Firefox in the terminal and got the browser running. 
 +
<pre>
 +
/dist/bin ./firefox
 +
</pre>
  
 +
==Problems Encountered==
 +
During my Firefox build in Ubuntu I came across two errors that took me awhile to figuire out, since I was not familiarized on how Ubuntu worked. 
  
=The Build=
+
One of the errors I faced was to do with two missing packages not being installed.
  
info
+
<pre>
 +
  1. checking for pkg-config... /usr/bin/pkg-config
 +
  2. checking for gtk+-2.0 >= 1.3.7 gdk-x11-2.0 glib-2.0 gobject-2.0... Package gtk+-2.0 was  not
 +
      found in the pkg-config search path. Perhaps you should add the directory containing
 +
      `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' foun d Package
 +
      gdk-x11-2.0 was not found in the pkg-config search path. Perhaps you should a dd the directory
 +
      containing `gdk-x11-2.0.pc' to the PKG_CONFIG_PATH environment variabl e No package
 +
      'gdk-x11-2.0' found Package glib-2.0 was not found in the pkg-config searc h path. Perhaps you
 +
      should add the directory containing `glib-2.0.pc' to the PKG_CONFIG _PATH environment variable
 +
      No package 'glib-2.0' found Package gobject-2.0 was not foun d in the pkg-config search path.
 +
      Perhaps you should add the directory containing `gobje ct-2.0.pc' to the PKG_CONFIG_PATH
 +
      environment variable No package 'gobject-2.0' found
 +
  3. configure: error: Library requirements (gtk+-2.0 >= 1.3.7 gdk-x11-2.0 glib-2.0 gobject- 2.0)
 +
      not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libra ries are in
 +
      a nonstandard prefix so pkg-config can find them.
 +
  4. *** Fix above errors and then restart with              "make -f client.mk build"
 +
  5. make[1]: *** [configure] Error 1
 +
  6. make[1]: Leaving directory `/home/admin/mozilla'
 +
  7. make: *** [/home/admin/mozilla/firefox-objdir/Makefile] Error 2
 +
</pre>
  
==Steps took to complete build==
+
I solved this problem by first using Google to find a solution.  I couldn't find a solution online so  I tried asking a classmate who had built Firefox to see if they would be able to help me.  I was then told to install two packages libidl-dev and libgtk2.0-dev from the synaptic package manager.  After the installation of the packages the error was solved.
info
 
  
==Problems Encountered==
+
On my second build I came across another error that had to do with another missing package. 
  
info
+
<pre>
 +
  1. checking for sys/int_types.h... no
 +
  2. configure: error: Could not compile basic X program.
 +
  3. *** Fix above errors and then restart with              "make -f client.mk build"
 +
  4. make[1]: *** [configure] Error 1
 +
  5. make[1]: Leaving directory `/home/admin/mozilla'
 +
  6. make: *** [/home/admin/mozilla/Makefile] Error 2
 +
</pre>
  
 +
I solved this problem by first using Google to find a solution.  I found a solution online that stated for me to install a package which I had already installed, so this was obviously not of use.  I then posted my error on [http://www.pastebin.ca Paste Bin] and pasted the link on the IRC Chat in the #Seneca room.  Philip Vitorino told me to try and install a package called libxt-dev and see if it solved the problem.  It definitely solved the problem and I was able to build Firefox completely.
  
 
=Screenshot=
 
=Screenshot=
  
Coming soon!
+
[[Image:vpmirand.jpg]]
 +
 
 +
=Resources=
 +
Here are some links that I found useful and helped me in the process of building Mozilla Firefox:
 +
 
 +
*[http://developer.mozilla.org/en/docs/Linux_Build_Prerequisites Linux Build Prerequisites]
 +
*[http://whereswalden.com/mozilla/msvcfree/ Setting up an MSVC Toolkit Firefox/Thunderbird Build Environment]
 +
*[http://Ubuntuforums.org Ubunutu Forums]
 +
 
 +
Also got some help from people in the <b>IRC Chat</b> in room <b>#Seneca</b>.  The name of these individuals are as follows:
 +
 
 +
*Mike Lau (mylau) [Helped with building Firefox on Ubuntu system]
 +
*Philip Vitorino (philly) [Helped with building Firefox on Ubuntu system]
 +
*Dave Humphrey (dave) [Helped with building Firefox on Windows XP Professional system]
 +
*Tom Aratyn(mystic) [Helped with building Firefox on Windows XP Professional system]
 +
 
 +
I would like to thank you all very much for taking the time to help me with the problems I faced when building Firefox. 
  
 
=Conclusion=
 
=Conclusion=
Info
+
This whole process of building Firefox has been an experience that I plan on taking with me where ever I go.  I have never worked on such a large project, and having the opportunity to be a part of it was very exciting.  Since this was my first time building an open source project I must admit i did get a bit fustrated since I wasn't sure what I had to do or what I needed in order to build Firefox successfully.  I got some useful information from Tom Aratyn and Dave Humphrey who first helped me out with trying to build Firefox on the Windows platform.  Their information and the information I found on Google helped me to understand what I needed and what I had to do. 
 +
 
 +
Since my Firefox crashed on my Windows platform when the build finished, I decided to try the build on Ubuntu.  Installing Ubuntu was a challenge since it was my first time installing a Linux operating system on my machine.  After the installation I got even more confused on where to find things.  I took some time to get familiarized with the interface which I picked up after a couple of minutes of looking around on the desktop.  During the process of building Firefox I started to get confused when I read on the internet that you had to install specific packages and libraries.  When I read this I automatically thought that I had to download the package and libraries from the internet. 
 +
But then I figured out that I just needed to type a command in the terminal to install packages and install the library manager.  This was one of the things I found really confusing, but now I am getting used to the Linux environment and plan to keep using it in the near future.

Latest revision as of 17:26, 24 September 2006

Go Back To List

Introduction

I first started off building Firefox on my Windows XP Professional machine using Visual Studio.Net 2003. Unfortunately I had some problems along the way and solved them by using Google.com and by asking for help in the IRC chat. When I finally built Firefox I tried to run it but wasn’t successful because it crashed on me. So I tried building it on two other hard drives and I got the same error. Since I was short on time I decided to give Linux a try and see if I would be more successful with building Firefox on a Linux operating system.

I was finally able to build Firefox successfully on Ubuntu, which took me about one night to do. This document will cover the build requirements such as hardware and software that I needed in order to build Firefox successfully. I will then discuss the steps that took me to fully complete the build and any problems that I encountered along the way. I will end it off with some useful resources that I found and used throughout the process of the build and then talk about my experience with my first open source build.

Requirements

Hardware

My computer system:

Intel Pentium 3 Processor 450 Mhz
256 MB RAM
40 Gigabyte Hard Drive
Ubuntu 

Software

Before I could install any packages or libraries I had to install build-essential, which is the synaptic package manager (i.e. Library Manager). Once I got this installed I looked at Linux Build Prerequisites to find out which libraries I needed. The following are a list of the libraries that I installed.

  • CVS
  • GTK (2.0)
  • Libxt-dev
  • Libidl-dev
  • Make

The Build

When I ran the build for the first time on Ubuntu I was bound to come in contact with some errors. The first time I ran the build I encountered an error to do with missing packages. Once that got resolved I ran the build a second time and came across another error to do with another missing package. After getting the last package installed I ran the build a third time and finally got the build to complete without any more errors.

Steps Took to Complete Build

  • Asked Mike Lau a few questions about Ubuntu.
  • Installed the build –essential, which is the synaptic package manager (i.e. Library Manager).
sudo apt-get install build-essential
  • Installed the CVS library, from the synaptic package manager.
  • Added environment variables to my environment script ( /etc/environment)
CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
CVS_RSH=ssh
  • Logged into Mozilla CVS Repository.
cvs login
  • Checked out the build script
cvs co mozilla/browser/config mozilla/client.mk
  • Created my .mozconfig file.
# Building Firefox Trunk with Debugging
. $topsrcdir/browser/config/mozconfig
  • Checked out the full source code.
make -f client.mk checkout
  • Started build for Firefox.
make -f client.mk build
  • Received an error during my build. The error stated that my /usr/bin/pkg-config was not found.
  • I knew I was missing a package but I wasn’t sure what the name of the package was. So I used Google to see if I could find a solution. I didn’t find any useful links so I asked Mike Lau if he had come across any errors like the one I had.
  • After speaking with Mike Lau, I got the packages that I needed.
  • I Installed packages libidl-dev and libgtk2.0-dev from the synaptic package manager.
  • After installing the packages I tried to rebuild Firefox again.
  • Received another error during my build. The error stated that it could not compile a basic X program. I knew that my int_types.h was missing so I knew that I was obviously missing a library but wasn’t sure which one.
  • I used Google again to see if anyone had faced the same problem. I found a link on Ubuntu Forums that gave me a package libgtk2.0-dev to install. But i had already installed it.
  • I then decided to try the IRC chat and pasted the error that I received and asked for some help.
  • Philip Vitorino offered to help me and explained to me that I was just missing a package. I told him that I wasn't sure what package I was missing. I told him the packages that I had installed and he gave me a package to install.
  • I installed libxt-dev
sudo apt -get install g++ libxt-dev
  • Rebuilded Firefox and left it running over night.
  • Next morning everything had gone smoothly, I ran Firefox in the terminal and got the browser running.
/dist/bin ./firefox

Problems Encountered

During my Firefox build in Ubuntu I came across two errors that took me awhile to figuire out, since I was not familiarized on how Ubuntu worked.

One of the errors I faced was to do with two missing packages not being installed.

   1. checking for pkg-config... /usr/bin/pkg-config
   2. checking for gtk+-2.0 >= 1.3.7 gdk-x11-2.0 glib-2.0 gobject-2.0... Package gtk+-2.0 was  not
      found in the pkg-config search path. Perhaps you should add the directory containing 
      `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' foun d Package 
      gdk-x11-2.0 was not found in the pkg-config search path. Perhaps you should a dd the directory 
      containing `gdk-x11-2.0.pc' to the PKG_CONFIG_PATH environment variabl e No package 
      'gdk-x11-2.0' found Package glib-2.0 was not found in the pkg-config searc h path. Perhaps you 
      should add the directory containing `glib-2.0.pc' to the PKG_CONFIG _PATH environment variable 
      No package 'glib-2.0' found Package gobject-2.0 was not foun d in the pkg-config search path. 
      Perhaps you should add the directory containing `gobje ct-2.0.pc' to the PKG_CONFIG_PATH 
      environment variable No package 'gobject-2.0' found
   3. configure: error: Library requirements (gtk+-2.0 >= 1.3.7 gdk-x11-2.0 glib-2.0 gobject- 2.0) 
      not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libra ries are in 
      a nonstandard prefix so pkg-config can find them.
   4. *** Fix above errors and then restart with               "make -f client.mk build"
   5. make[1]: *** [configure] Error 1
   6. make[1]: Leaving directory `/home/admin/mozilla'
   7. make: *** [/home/admin/mozilla/firefox-objdir/Makefile] Error 2 

I solved this problem by first using Google to find a solution. I couldn't find a solution online so I tried asking a classmate who had built Firefox to see if they would be able to help me. I was then told to install two packages libidl-dev and libgtk2.0-dev from the synaptic package manager. After the installation of the packages the error was solved.

On my second build I came across another error that had to do with another missing package.

   1. checking for sys/int_types.h... no
   2. configure: error: Could not compile basic X program.
   3. *** Fix above errors and then restart with               "make -f client.mk build"
   4. make[1]: *** [configure] Error 1
   5. make[1]: Leaving directory `/home/admin/mozilla'
   6. make: *** [/home/admin/mozilla/Makefile] Error 2 

I solved this problem by first using Google to find a solution. I found a solution online that stated for me to install a package which I had already installed, so this was obviously not of use. I then posted my error on Paste Bin and pasted the link on the IRC Chat in the #Seneca room. Philip Vitorino told me to try and install a package called libxt-dev and see if it solved the problem. It definitely solved the problem and I was able to build Firefox completely.

Screenshot

Vpmirand.jpg

Resources

Here are some links that I found useful and helped me in the process of building Mozilla Firefox:

Also got some help from people in the IRC Chat in room #Seneca. The name of these individuals are as follows:

  • Mike Lau (mylau) [Helped with building Firefox on Ubuntu system]
  • Philip Vitorino (philly) [Helped with building Firefox on Ubuntu system]
  • Dave Humphrey (dave) [Helped with building Firefox on Windows XP Professional system]
  • Tom Aratyn(mystic) [Helped with building Firefox on Windows XP Professional system]

I would like to thank you all very much for taking the time to help me with the problems I faced when building Firefox.

Conclusion

This whole process of building Firefox has been an experience that I plan on taking with me where ever I go. I have never worked on such a large project, and having the opportunity to be a part of it was very exciting. Since this was my first time building an open source project I must admit i did get a bit fustrated since I wasn't sure what I had to do or what I needed in order to build Firefox successfully. I got some useful information from Tom Aratyn and Dave Humphrey who first helped me out with trying to build Firefox on the Windows platform. Their information and the information I found on Google helped me to understand what I needed and what I had to do.

Since my Firefox crashed on my Windows platform when the build finished, I decided to try the build on Ubuntu. Installing Ubuntu was a challenge since it was my first time installing a Linux operating system on my machine. After the installation I got even more confused on where to find things. I took some time to get familiarized with the interface which I picked up after a couple of minutes of looking around on the desktop. During the process of building Firefox I started to get confused when I read on the internet that you had to install specific packages and libraries. When I read this I automatically thought that I had to download the package and libraries from the internet. But then I figured out that I just needed to type a command in the terminal to install packages and install the library manager. This was one of the things I found really confusing, but now I am getting used to the Linux environment and plan to keep using it in the near future.