ReferencePlatforms/Linux: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 49: Line 49:
== Make GCC 4.1 (redhat branch) ==
== 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-redhat
 
  cd /builds/gcc-redhat
  mkdir /builds/gcc-4_1-branch-117631
  curl http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/source/SRPMS/gcc-4.1.1-30.src.rpm > gcc-4.1.1-30.src.rpm
  cd /builds/gcc-4_1-branch-117631
  rpm2cpio gcc-4.1.1-30.src.rpm | cpio -i gcc-4.1.1-20061011.tar.bz2
  svn co -r117631 svn://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch gcc
  tar -xjf gcc-4.1.1-20061011.tar.bz2
  # 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
  mkdir obj-release
  cd 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
  ../gcc-4.1.1-20061011/configure --prefix=/builds/gcc-redhat/installed-release --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib
  make
  make
  make install
  make install

Revision as of 15:29, 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)

mkdir /builds/gcc-redhat
cd /builds/gcc-redhat
curl http://redhat.download.fedoraproject.org/pub/fedora/linux/core/6/source/SRPMS/gcc-4.1.1-30.src.rpm > gcc-4.1.1-30.src.rpm
rpm2cpio gcc-4.1.1-30.src.rpm | cpio -i gcc-4.1.1-20061011.tar.bz2
tar -xjf gcc-4.1.1-20061011.tar.bz2

mkdir obj-release
cd obj-release
../gcc-4.1.1-20061011/configure --prefix=/builds/gcc-redhat/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++