Difference between revisions of "OOo Fedora Build"

From CDOT Wiki
Jump to: navigation, search
(Setting Distcc for OO build)
(OOo Category)
 
(23 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
= Openoffice.org Fedora Build =
 
= Openoffice.org Fedora Build =
 +
[[OOo Mac Build]] - [[OOo Windows Build]]
 
* Resources
 
* Resources
 
** [http://wiki.services.openoffice.org/wiki/Build_Software_Requirements "Build Software Requirements"]
 
** [http://wiki.services.openoffice.org/wiki/Build_Software_Requirements "Build Software Requirements"]
Line 11: Line 12:
 
| [[User:Bbarcick|Bartosz]] (irc:BartB) Aaron (irc:achan66)|| Australia || building DEV40 || Distcc: Done
 
| [[User:Bbarcick|Bartosz]] (irc:BartB) Aaron (irc:achan66)|| Australia || building DEV40 || Distcc: Done
 
|-
 
|-
| Fardad (irc:fardad) || Hong Kong || <Fill in this> || Distcc: Done
+
| [[User:jtpau|Jerry Pau]] (irc: jPau) || Hong Kong || m40 Done; m41 Done || Distcc: Done
|-
 
| Fardad (irc:fardad) || Ireland || <Fill in this> || Distcc: Done
 
 
|-
 
|-
 
| Daeseon Moon (irc:daeseon) || Germany || <b>Build Success</b> || Distcc: Done
 
| Daeseon Moon (irc:daeseon) || Germany || <b>Build Success</b> || Distcc: Done
 
|-
 
|-
|Ladan Zahiroleslam(irc:l_zahir)|| China|| '''Build ended''' on Sat Jan 31 22:47:11 2009 (but it was done locally) I nead help to get distCC work with it .'''Building again M40...'''trying to get it done with distcc || Distcc: Done
+
|Ladan Zahiroleslam(irc:l_zahir)|| hongkong ||I'm getting so many build problems :(|| Distcc: Done
 
|-
 
|-
 
| [[User:Tiago|Tiago]] (IRC: Kamots) || India || Building OOo || Regular Build: in progress
 
| [[User:Tiago|Tiago]] (IRC: Kamots) || India || Building OOo || Regular Build: in progress
 
|-
 
|-
 
| [[User:Minicheong|Frankie]] (IRC: Mini_Cheong) || Liberia || <b>Build Success!!</b> <br/> Started: Jan 30 - 9:41pm <br/> Ended: Jan 31 - 1:53am || Distcc: Done
 
| [[User:Minicheong|Frankie]] (IRC: Mini_Cheong) || Liberia || <b>Build Success!!</b> <br/> Started: Jan 30 - 9:41pm <br/> Ended: Jan 31 - 1:53am || Distcc: Done
 +
|-
 +
| [[User:Wfred|Fred Wang]] (IRC: WFred) || Locally || Build Succeeded ||
 
|}
 
|}
  
Line 40: Line 41:
 
== Setting Distcc for OO build ==
 
== Setting Distcc for OO build ==
 
* Create directory "/usr/lib/distcc/bin"
 
* Create directory "/usr/lib/distcc/bin"
* Make symbolic link in the directory
+
* 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/g++
 
** ln -s /usr/bin/distcc /usr/lib/distcc/bin/c++
 
** ln -s /usr/bin/distcc /usr/lib/distcc/bin/c++
Line 49: Line 50:
 
* After configuration is done, add MAXPROCESS in environment variable
 
* After configuration is done, add MAXPROCESS in environment variable
 
** export MAXPROCESS=8
 
** export MAXPROCESS=8
 +
* "*note* if having problems with libnss.so use below command
 +
** export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
 
* Execute dmake with option "-E"
 
* Execute dmake with option "-E"
 
** dmake -E
 
** dmake -E
* [http://tools.openoffice.org/dmake/dmake_4.3.html dmake Man Page]
+
* Read this as well [http://tools.openoffice.org/dmake/dmake_4.3.html 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:
 +
<pre>
 +
#!/bin/bash
 +
__cname__=$1
 +
echo "$__cname__ exec time: ------------------" >> "$__cname__"time.log
 +
echo start time: `date` >> "$__cname__"time.log
 +
while [[ $# != 0 ]]; do
 +
  __cmd__="$__cmd__ $1"
 +
shift
 +
done
 +
if [ -f "$__cname__"output.log ]; then
 +
  mv "$__cname__"output.log "$__cname__"output.`date +%y%m%d%H%M%S`.log
 +
fi
 +
echo $__cmd__ >> "$__cname__"time.log
 +
$__cmd__ >> "$__cname__"output.log 2>> "$__cname__"output.log
 +
echo end time: `date` >> "$__cname__"time.log
 +
echo "-----------------------------------------" >> "$__cname__"time.log
 +
</pre>
 +
Then run your commands like:
 +
<pre>
 +
logNtime dmake -E
 +
</pre>
 +
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 The Source ==
Line 69: Line 97:
 
|-
 
|-
 
|Can't locate Archive/Zip.pm in @INC ||yum install perl-Archive-Zip
 
|Can't locate Archive/Zip.pm 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 ==
 
== Setting Environment Variables ==
Line 81: Line 115:
 
   dmake '''2>~/errorLog'''
 
   dmake '''2>~/errorLog'''
  
== Build issue ==
+
== Build Issue ==
 +
*[http://www.openoffice.org/issues/show_bug.cgi?id=91641 rhino fails to build with OpenJDK]
 +
*[http://qa.openoffice.org/issues/show_bug.cgi?id=84787 libnss3 patch]
 +
*[http://www.openoffice.org/issues/show_bug.cgi?id=97715 rpmbuild buildroot error]
 +
 
 +
[[Category:OpenOffice.org]]

Latest revision as of 16:06, 11 May 2009

Openoffice.org Fedora Build

OOo Mac Build - OOo Windows 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 m40 Done; m41 Done Distcc: Done
Daeseon Moon (irc:daeseon) Germany Build Success Distcc: Done
Ladan Zahiroleslam(irc:l_zahir) hongkong I'm getting so many build problems :( 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
Fred Wang (IRC: WFred) Locally Build Succeeded

Getting the Source

Use:

svn co http://svn.services.openoffice.org/ooo/tags/DEV300_m40

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
  • "*note* if having problems with libnss.so use below command
    • export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
  • 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:

#!/bin/bash
__cname__=$1
echo "$__cname__ exec time: ------------------" >> "$__cname__"time.log
echo start time: `date` >> "$__cname__"time.log
while [[ $# != 0 ]]; do
   __cmd__="$__cmd__ $1"
shift
done
if [ -f "$__cname__"output.log ]; then
  mv "$__cname__"output.log "$__cname__"output.`date +%y%m%d%H%M%S`.log
fi
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/Zip.pm 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

   source LinuxX86-64Env.Set.sh

Bootstrapping

    ./bootstrap

Build

  dmake 2>~/errorLog

Build Issue