IT46 Blog
July 13, 2006 12:28
Berkeley DB and OpenOffice.org
I am rebuilding OpenOffice.org OOC680m7 (2.0.3) using Ubuntu Debian Dapper in the Sun X4100. Debian Dapper is using Berkeley DB version 4.4. The API of Berkeley has changed quite a lot from 4.2 (default version for OOo to build). The xmlhelper module will break (HelpLinker) as the Java bindings API is different from 4.4 to 4.2. Patches needs to be applied to build with db 4.3/4.4. AFAIK, patches are not integrated upstream yet.
Java Bindings are not packed for db 4.3 so they need to be recompiled from source. Hacking around configure in the config_office module to link against db4.2 and libdb4.2-java.jar made the trick.
July 10, 2006 18:28
OpenOffice.org 2.0.3 OOC680m7 in Sun X4100
I have re-installed the Sun X4100 with Ubuntu Dapper. I am using the server version of Dapper that ships with the mtpsas driver in the kernel.
Having all the servers using apt will make my life and maintenance much easier. Before I was working with SuSE (RPM, yast), FC (RPM, yum) and Debian (DEB, apt). By moving all the servers to apt i can keep consistent build environments in all platforms including GNU Open Solaris (Nexenta OS). I will really love to see apt in cygwin :).
I am rebuilding the build environment from SuSE 10.1 beta8 to Debian Dapper. I will also update the build environment from OOB680 (2.0.2) to OOC680 (2.0.3 m7).
June 20, 2006 11:26
How to generate static HTML from DokuWiki
Although Wikis can be useful in situations when content is frequently edited by a number of people, static versions of the data can be desirable in other situations.I came across a script that easily converts Doku Wiki (txt) pages to static (html) pages. The script (written in PHP) can be downloaded here:
Offline-doku 0.1.1Before running the script, make sure that you have support for the following features:
- CLI (command-line interpreter) for PHP4, Debian: php4-cli
- PEAR (PHP Extension and Application Repository), Debian: php4-pear
If you do not want to edit the php script, make sure that you have the Wiki pages stored in the default location which is:
# /path/for/dokuwiki/data/
Also, make sure that all six directories (attic, cache, locks, media, meta, pages) exist in directory data (although they might be empty).
You might need to run some sed operations over the files to correct links. This script helps you to go through all files in a directory and replace one string (string1) with another (string2).
# find ./ -type f -exec sed -i 's/string1/string2/' {} \;
June 15, 2006 21:03
Bonnie++ the localization servers
I have used bonnie++ to compare the hardrive IO of the following servers:
- Server 1: Sun X4100, SATA, 2048 GB RAM
- Server 2: Dell PowerEdge 850, RAID-1 SATA, 2048 GB RAM
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
pootle-a 4048M 30289 72 48482 17 22842 5 27975 58 59137 5 298.9 0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 2684 98 +++++ +++ +++++ +++ 2735 98 +++++ +++ 8775 95
pootle-a,4048M,30289,72,48482,17,22842,5,27975,58,59137,5,298.9,0,16,2684,98,+++++,+++,+++++,+++,2735,98,+++++,+++,8775,95
Version 1.03 ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
ooo 4048M 34939 68 39205 26 16345 3 42285 72 43679 4 257.2 0
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 3082 97 +++++ +++ +++++ +++ 3850 97 +++++ +++ 12509 100
ooo,4048M,34939,68,39205,26,16345,3,42285,72,43679,4,257.2,0,16,3082,97,+++++,+++,+++++,+++,3850,97,+++++,+++,12509,100
A page with a comparation of both machines is here
June 10, 2006 12:07
A new pootle server
After some very hectic days preparing the server room, the new Pootle Server has arrived. It is a Dell Poweredge 850 with a CERC RAID controller and two SATA drives of 250 GB in RAID-1 mode.
I have installed Ubuntu 6.06 Dapper in the box. Partitioning follows:
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 42006192 471908 39400452 2% / varrun 1037924 40 1037884 1% /var/run varlock 1037924 4 1037920 1% /var/lock udev 1037924 60 1037864 1% /dev devshm 1037924 0 1037924 0% /dev/shm /dev/sda3 96124936 131260 91110720 1% /vol1 /dev/sda4 96157068 131260 91141248 1% /vol2
Some of the problems i have encountered are:
- hw_random: udev via uevent compains about the hardware random number generator module. It seems that intel is not implemented them anymore in the motherboard and currently only VIA boards do.
- sda: got wrong page: Mark Salyzyn has reported that the wrong page error has been mitigated recently in a patch ([PATCH 1/3] aacraid: reduce device probe warnings) by telling the scsi layer to not request page 3F and 8.
TODO
- mdadm: no need as i am not running software RAID
- benchmarking: using bonnie, need to understand what those numbers mean
- IPMI: look into monitoring the box with sensors
May 16, 2006 16:48
Native OpenOffice.org in NexentaOS released!
With this posting, I am happy to announce the release and integration of a native OpenOffice.org 2.0 in NexentaOS (alpha5).
NexentaOS is a complete GNU-based open source operating system built on top of the OpenSolaris kernel and runtime. The distribution uses SunOS kernel and a “rebuild/port” of most of the Ubuntu's userland packages. Yes!, Debian packaging system in a Open Solaris OS.
The goal of this effort is to compile OpenOffice.org in a OpenSolaris environment like NexentaOS and investigate what will take to rebuild the software using GCC.
Solaris 10 vs Open Solaris
There are some small but tricky differences between Solaris 10 and Open Solaris that has made this work challenging:
- OpenOffice.org in Solaris x86 has been traditionally build using Solaris 8 and C++-5.5 (Sun Studio 8). Unfortunately, Sun's C++-5.5 is not freely available and the official (and free/no cost) Sun Studio tools for Open Solaris is C++-5.7 (Sun Studio 10).
- At the present date (May 2006), Open Solaris has only two OS locales C and POSIX. OpenOffice.org for Solaris requires/expects support for en_US locale. To overcome this problem the GTK plug-in for VCL needs to be compiled to move the input method support from OS to Xorg.
- OpenOffice.org code for Solaris x86 also expects to run with Xsun instead of Xorg and the Xinerama API of the Xsun/Xorg projects are almost (but not) identical.
This is the description of my build environment:
- NexentaOS (alpha4) including (pre-alpha5) updates
- Sun Studio 10 and Java SDK 1.4.2_08
- cc: Sun C 5.7 Patch 117837-04 2005/05/11
- as: Sun Compiler Common 10 2005/01/07
- CC: Sun C++ 5.7 Patch 117831-02 2005/03/30
- java full version "1.4.2_08-b03"
Downloads
Debian package for NexentaOS is available here
Issues related to this effort (hopefully with nice upstream patches):
Acknowledments goes to:
- Wordforge for letting me build OpenOffice.org non-stop for the latest months
- The Royal Institute of Technology (KTH) for hosting the OOo build server
- Global Education & Research Group of Sun Microsystems Inc. for the donation of a nice Sun X4100
- The #openoffice.org gang
- Erast Benson from NexentaOS for his patiente debugging problems.
Tech gossip
Today, Sun announced the possibility of integration of Java JDK with GNU/Linux and NexentaOS. The new license allows distributors to ship Sun's Java SE 5.0 Java Development Kit (JDK(TM)) and Java Runtime Environment (JRE(TM)) as installable packages for their operating systems. Now, we can fully distribute the OpenOffice.org build environment inside of the distro... read more here
May 7, 2006 09:56
OpenSolaris build for OpenOffice.org
In the last days, i have been working in building OpenOffice.org in OpenSolaris. The OpenSolaris project does not provide a complete distribution but rather an open source code base (ON). A few distributions are now using the ON to add tools to the code base. One of the most promising projects is Gnusolaris - NexentaOS.
Nexenta OS Alpha 4, is using ON Build 36. At the top of the SunOS kernel and runtime, a GNU environment based on Ubuntu/Debian packages is now being added. I am currently working on the patches to get OpenOffice.org smootly integrated... if interested to contribute drop me a line.
May 7, 2006 01:31
Just another build server for OpenOffice.org
I have added another build server to the family... to the Sun server i have added a Dell 5150c portable server. The configuration includes a Intel® Pentium® D Processor with Dual Core Technology - 800 Sequence - up to 840 (3.0GHz, 800MHz FSB, 2 MB Cache) and 2 GB of RAM.
- Linux OpenSuSE 10.1 (*REMINDER* need to upgrade the Final version after the 11 May)
- Windows with Cygwin 1.5.19
- OpenSolaris with NexentaOS Alpha 4.
Linux ooo 2.6.16-rc6-git1-4-smp #1 SMP Tue Mar 14 18:04:33 UTC 2006 i686 athlon i386 GNU/Linux CYGWIN_NT-5.1 ooowin32 1.5.19(0.150/4/2) 2006-01-20 13:28 i686 Cygwin SunOS ooosol 5.11 NexentaOS_20060313 i86pc i386 i86pc Solaris
April 23, 2006 12:32
Updating UI in OpenOffice.org without rebuilding...
This posting summarizes a way to update the User Interface of OpenOffice.org without the need of rebuilding the software are crating a new language pack. OpenOffice.org localization strings are spread in the source code in a set of the localize.sdf files (aka particles). The localize.sdf files looks as follows:
sw sourceuifmtuifmtui.src 0 string STR_OVERWRITE 0 sv Vill du verkligen skriva över den här mallen? 2002-02-02 02:02:02 sw sourceuifmtuifmtui.src 0 stringSTR_OVERWRITE 0 sw-TZ Je una hakika unataka kufuta templeti hii? 2046-02-02 02:02:02
Localization teams extract all the sdf fiels into one single SDF file, normally known as GSI file. The GSI file for Swahili will look as GSI_sw-TZ.sdf. The file is the result of running:
localize -e -l en-US,sw-TZ=en-US -f GSI_sw-TZ.sdf
After extraction the GSI files is normally converted to a set of PO files using tools as oo2po, PO files are localized and then converted back to GSI file format:
localize -m -l sw-TZ -f GSI_sw-TZ.sdf
After merging back the GSI file into the source code, OpenOffice.org is then recompiled and packed... during compilation the sdf files are merged into resources files and .xcu files.
There are two ways that we can modify strings from the UI once the software is compiled. The first way will be to be able to edit the resources files with a tool like UltraEdit. The second alternative is described next:
Once the software is installed go to:
cd /cygdrive/c/Program/OpenOffice.org 2.0/share/registry/res/sw-TZ/org/openoffice/Office/UI/
vi GenericCommands.xcu
(edit)
<value xml:lang="sw-TZ">Fungua...</value>
For example, i changed the world Fungua for Fungua (Testing hack)...
Once you have edit the value, you need to ensure that the cache is removed:
cd /cygdrive/c/Documents and Settings/username/Application Data/OpenOffice.org2/user/registry/ mv cache cache.back
Kill/Stop the QuickStart, the next time you start OpenOffice.org your cache will be regenerated. The cache contains a set of .dat files that are the result of parsing the .xcu files.
Notice that if you want to include a language that is using another script, you might need to modify the font assignations in VCL.xcu also.
April 23, 2006 11:00
Cygwin and Windows XP
I am installing "cygwin" in a Windows XP box to compile OpenOffice.org. These are some notes i took during the installation.
I am installing version 1.5.19-4, previous versions of cygwin seemed to freeze the compilation process. More info about this issue #51560. One of the initial problems i found with the cygwin environment and Windows XP in general is to work with the graphical interface, i rather ssh into the box and use the command line... the first thing i did was to install Real VNC in the box and use the Java Applet client to connect from my Linux client. Unfortunately, the Java Applet did not allow me to use the TAB key :-(. Finally, i found a nice document that describes how to install SSH server in Cygwin. You can check it out here. After installing the SSH2 server in the Windows box, i can skip VNC
it46@ooowin32 /cygdrive/i/WF/BuildDir/ooo_OOB680_m5_src/config_office $ ls CVS bootstrap.1 config.parms configure.in set_soenv.in README bootstrap.2 config.status makefile.rc warn aclocal.m4 config.log configure set_soenv
I still have problems with the UTF8 support in cywgin and editing some of the files required me to use the VNC and my best buddy: Wordpad. I think it is a font problem... need to check this out.











