ReferencePlatforms/Linux

From MozillaWiki
Jump to navigation Jump to search

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. I presume this will change to the standard cltbld account for production use.

Choose the development workstation installation set.

After installation, login, and install additional package(s):

su -
yum install java-1.4.2-gcj-compat-devel

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

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

Get GCC trunk builds

This will change when GCC 4.2 is actually released.

mkdir /builds/gcc-trunk
cd /builds/gcc-trunk
curl ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20060812/gcc-4.2-20060812.tar.bz2 > gcc-4.2-20060812tar.bz2
tar -xjf gcc-4.2-20060812.tar.bz2
curl "http://gcc.gnu.org/cgi-bin/get-raw-msg?listname=gcc-patches&date=2006-08&msgid=44E07A8D.4060106%40smedbergs.us" > gcc-rtti.patch
cd gcc-4.2-20060812/gcc
patch -p0 -l < ../../gcc-rtti.patch
# Ignore the error about invoke.texi

mkdir /builds/gcc-trunk/obj-release
cd /builds/gcc-trunk/obj-release
../gcc-4.2-20060812/configure --prefix=/builds/gcc-trunk/installed-release --enable-shared=libgcc --enable-__cxa_atexit --enable-languages=c,c++ --with-system-zlib
make
make install