ReferencePlatforms/Linux: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Use GCC 4.1 from Fedora Core 6)
Line 47: Line 47:
  # type 'yes' to accept the license
  # type 'yes' to accept the license


== Get GCC trunk builds ==
== Make GCC 4.1 (redhat branch) ==


This will change when GCC 4.2 is actually released.
On a separate machine, use the following procedure to create a GCC 4.1.1 (RedHat branch) source tarball:


  mkdir /builds/gcc-trunk
  mkdir /builds/gcc-4_1-branch-117631
  cd /builds/gcc-trunk
  cd /builds/gcc-4_1-branch-117631
  curl ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20061014/gcc-4.2-20061014.tar.bz2 > gcc-4.2-20061014.tar.bz2
  svn co -r117631 svn://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch gcc
  tar -xjf gcc-4.2-20061014.tar.bz2
# This is the source tarball used for Fedora Core 6
   
cd /builds
  mkdir /builds/gcc-trunk/obj-release
tar -cjf gcc-4_1-branch-117631.tar.bz2 gcc-4_1-branch-117631
  cd /builds/gcc-trunk/obj-release
 
  ../gcc-4.2-20061014/configure --prefix=/builds/gcc-trunk/installed-release --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib
Eventually this tarball should be committed to CVS.
 
On the build machine:
 
# Get the tarball from above and copy it to /builds (using SSH or curl or whatever)
  tar -xjf gcc-4_1-branch-117631.tar.bz2
  cd gcc-4_1-branch-117631
  mkdir obj-release
  cd obj-release
 
  ../gcc/configure --prefix=/builds/gcc-4_1-branch-117631/installed-release --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib
  make
  make
  make install
  make install

Revision as of 15:16, 21 December 2006

This is a procedure I'm using to create a potential VM for producing Linux nightlies for Gecko 1.9.

Install CentOS4.3 from CDs

For the moment, I'm using "bsmedberg" as the regular user. If we are going to provide a public download of the VM, we probably shouldn't use the standard cltbld account/password. I'm not sure how that should work security-wise.

Choose the development workstation installation set.

Fix some permissions, create /builds directory

Save the following file as ~/.bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export CVS_RSH=ssh
export JAVA_HOME=/builds/jdk1.5.0_08

Fix some permissions, and create a /builds directory.

su -
chmod a+x /etc/bashrc
groupadd builders
usermod -a -G builders bsmedberg
mkdir /builds
chgrp builders /builds

Logout/login to pick up new group setting

Install Sun Java JDK

Note: we should archive this binary somewhere

cd /builds
./jdk-1_5_0_08-linux-i586.bin
# type 'yes' to accept the license

Make GCC 4.1 (redhat branch)

On a separate machine, use the following procedure to create a GCC 4.1.1 (RedHat branch) source tarball:

mkdir /builds/gcc-4_1-branch-117631
cd /builds/gcc-4_1-branch-117631
svn co -r117631 svn://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch gcc
# This is the source tarball used for Fedora Core 6
cd /builds
tar -cjf gcc-4_1-branch-117631.tar.bz2 gcc-4_1-branch-117631

Eventually this tarball should be committed to CVS.

On the build machine:

# Get the tarball from above and copy it to /builds (using SSH or curl or whatever)
tar -xjf gcc-4_1-branch-117631.tar.bz2
cd gcc-4_1-branch-117631
mkdir obj-release
cd obj-release
../gcc/configure --prefix=/builds/gcc-4_1-branch-117631/installed-release --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib
make
make install

To build mozilla

The mozconfig for building mozilla should contain the following settings:

CC=/builds/gcc-trunk/installed-release/bin/gcc
CXX=/builds/gcc-trunk/installed-release/bin/g++