Instructions for Building SCTP Firefox 3.0.11

SCTP Firefox 3.0.11 is currently known to build and run on FreeBSD 7.2, Linux 2.6.28 and Mac OS X 10.5.8. It should also build and run on any FreeBSD 7.x and Mac OS X 10.5.x, and probably Mac OS X 10.4.x as well. Versions of Linux more recent than 2.6.28 are expectded to work as well. If you successfully build and run SCTP Firefox 3.0.11 on a particular platform I would appreciate hearing about it. You may contact me at leighton@cis.udel.edu

The first step in building SCTP Firefox is to make sure that you can successfully build the standard (TCP) version of Firefox 3.0.11. Once you can successfully build TCP Firefox, building SCTP Firefox should be straightforward. Before building TCP Firefox you should first unarchive the SCTP Firefox tarball. You will need a file from this tarball for configuring the TCP Firefox build.

Building TCP Firefox

Download the source code for TCP Firefox v3.0.11 from
Firefox 3.0.11

and unarchive it. Make sure you have all the prerequisites appropriate for your platform specified here

Linux Prerequisites       (Update: on Ubuntu, also install libidl-dev and libnotify-dev)
Mac OS X Prerequisites

The Linux page is also the prerequisites page for other unix platforms including FreeBSD.

For Linux only, you will need to download and apply this patch from within the top level mozilla directory as follows:

$ patch -p1 < sctp_firefox_3.0.11_linux.patch

The patch is already applied to the SCTP version of Firefox, but you will need to apply it to the TCP source in order to build the TCP version of Firefox.

For Mac OS X only, you will need to download the SCTP network kernel extension and install it. For recent version of Mac OS X, the NKE can be obtained here:

SCTP NKE for Mac OS X

For FreeBSD only, after downloading and unarchiving the TCP Firefox tarball, edit the following three files and search for the line in each file that contains "objformat". On each of those lines, change "aout" to "elf".

mozilla/security/coreconf/FreeBSD.mk
mozilla/nsrpub/configure
mozilla/configure

If you think you may have a reason to rebuild the configure scripts on FreeBSD (most people won't), you should also make the same changes in the following two files:

mozilla/configure.in
mozilla/nsprpub/configure.in

Continuing for all platforms, in the TCP Firefox mozilla directory, create a directory called obj-ff-dbg. Copy the .mozconfig file from the SCTP Firefox mozilla directory into the TCP Firefox mozilla directory. For Mac OS X only, you will need to uncomment the line in .mozconfig corresponding to the version of the Mac OS X SDK that you prefer to use.

To build TCP firefox, cd into the obj-ff-dbg directory and issue the following two commands:

      $ ../configure
  $ make     (Use gmake on FreeBSD)

If the build process does not complete successfully, you will need to resolve the build errors and run make/gmake again. A good resource for resolving build problems is the newsgroup moz.dev.builds on news.mozilla.org. If you prefer not to use a news reader, the mozilla newsgroups can also be accessed with a browser via Google Groups. The build newsgroup can be found at

http://groups.google.com/group/mozilla.dev.builds/topics

Assuming that the build completes successfully, you should now be able to run the TCP version of Firefox.

For Linux and FreeBSD, cd into

mozilla/obj-ff-bdg/dist/bin

and for Mac OS X cd into

mozilla/obj-ff-bdg/dist/GranParadisoDebug.app/Contents/MacOS

Run firefox with the following command:

$ ./firefox &

Alternatively for Mac OS X, you can use the finder to navigate to the mozilla/obj-ff-dbg/dist folder and double click on the GranParadisoDebug application in that folder.

Once TCP firefox builds and runs correctly, you can proceed to building SCTP Firefox.


Building SCTP Firefox

Create an obj-ff-dbg directory in the SCTP Firefox mozilla directory. Next cd into the obj-ff-dbg directory and issue the following two commands:

      $ ../configure --enable-sctp
  $ make     (Use gmake on FreeBSD)

If TCP Firefox built and ran successfully, the SCTP Firefox build process should now complete successfully as well. Once complete, you should be able to run SCTP firefox in exactly the same manner as described above for TCP Firefox.

I generally keep an SCTP test page available at:

http://buzet.pc.cis.udel.edu:4000/

You are welcome to try to access this page, and contact me if it appears to be down.


Regards,
Jon Leighton

leighton@cis.udel.edu

Update 2013-02-11 - Updated build requirements for linux, and added patch to resolve build errors.