OOo Fedora Build

From CDOT Wiki
Revision as of 02:23, 10 February 2009 by Jtpau (talk | contribs) ( Fedora Build)
Jump to: navigation, search Fedora Build

CDOT Computer Status - Who is working where
Student Name CDOT Computer Name Operation Status
Bartosz (irc:BartB) Aaron (irc:achan66) Australia building DEV40 Distcc: Done
Jerry Pau (irc: jPau) Hong Kong Building M40 Distcc: Failed; Regular Build: In progress
Fardad (irc:fardad) Hong Kong <Fill in this> Distcc: Done
Fardad (irc:fardad) Ireland <Fill in this> Distcc: Done
Daeseon Moon (irc:daeseon) Germany Build Success Distcc: Done
Ladan Zahiroleslam(irc:l_zahir) China Built M40 with distcc. It took less than 2 hours Distcc: Done
Tiago (IRC: Kamots) India Building OOo Regular Build: in progress
Frankie (IRC: Mini_Cheong) Liberia Build Success!!
Started: Jan 30 - 9:41pm
Ended: Jan 31 - 1:53am
Distcc: Done

Getting the Source


svn co

to checkout the source. Make sure you are using http instead of svn, if you are checking the source out in Seneca.

Setting C and C++ compilers

  • export CC='distcc gcc'
  • export CXX='distcc g++'

Setting Distcc for OO build

  • Create directory "/usr/lib/distcc/bin"
  • Make symbolic links in the directory
    • ln -s /usr/bin/distcc /usr/lib/distcc/bin/g++
    • ln -s /usr/bin/distcc /usr/lib/distcc/bin/c++
    • ln -s /usr/bin/distcc /usr/lib/distcc/bin/cc
    • ln -s /usr/bin/distcc /usr/lib/distcc/bin/gcc
  • Add the directory at the first of your PATH environment variable
    • export PATH=/usr/lib/distcc/bin:$PATH
  • After configuration is done, add MAXPROCESS in environment variable
    • export MAXPROCESS=8
  • Execute dmake with option "-E"
    • dmake -E
  • Read this as well dmake Man Page

A script to Log and Time the execution

To be able to capture the output of your execution and time it at the same time, save this script in a file. I called this file "logNtime". Give "logNtime" execution permission:

echo "$__cname__ exec time: ------------------" >> "$__cname__"time.log
echo start time: `date` >> "$__cname__"time.log
while [[ $# != 0 ]]; do
   __cmd__="$__cmd__ $1"
if [ -f "$__cname__"output.log ]; then
  mv "$__cname__"output.log "$__cname__"output.`date +%y%m%d%H%M%S`.log
echo $__cmd__ >> "$__cname__"time.log
$__cmd__ >> "$__cname__"output.log 2>> "$__cname__"output.log
echo end time: `date` >> "$__cname__"time.log
echo "-----------------------------------------" >> "$__cname__"time.log

Then run your commands like:

logNtime dmake -E

This will create two log files: dmakeoutput.log and dmaketime.log which hold the output of dmake and it's execution

Configuring The Source

Configuring error is different for every machine.
Here is some errors and fixes for it.

Issues Solutions
no cups/cups.h yum install cups-devel
no JDK installed yum install java-1.7.0-icedtea-devel.x86_64
no gperf yum install gperf.x86_64
no Ant yum install ant.x86_64
Can't locate Archive/ in @INC yum install perl-Archive-Zip
no tcsh yum install tcsh

If using the pre-built Mozilla libraries, this configure command works:

./configure --with-use-shell=bash --prefix=/home/dev/dev-install/ --with-system-stdlibs --disable-build-mozill

Setting Environment Variables





  dmake 2>~/errorLog

Build Issue