IT46 Blog

July 13, 2006 12:28

Berkeley DB and

I am rebuilding 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.

Read more »

July 10, 2006 18:28 2.0.3 OOC680m7 in Sun X4100 2.0.3 OOC680m7 in Sun X4100

Another Packing Tool at IT46 office: Tux

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).

Read more »

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.1

Before 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/' {} \; 

Read more »

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
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

A page with a comparation of both machines is here

Read more »

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.


  • 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

Read more »

May 16, 2006 16:48

Native in NexentaOS released!

Native in NexentaOS released!

Waited two years for this T-shirt! Thanks Dwayne

With this posting, I am happy to announce the release and integration of a native 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 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:

  • 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. 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.
  • 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"


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 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 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 build environment inside of the distro... read more here

Read more »

May 7, 2006 09:56

OpenSolaris build for

OpenSolaris build for


In the last days, i have been working in building 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 smootly integrated... if interested to contribute drop me a line.

Read more »

May 7, 2006 01:31

Just another build server for

Just another build server for

5150c Dual Core, Compiling... is NOT silent, i swear

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

Read more »

April 23, 2006 12:32

Updating UI in without rebuilding...

This posting summarizes a way to update the User Interface of without the need of rebuilding the software are crating a new language pack. 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, 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/ 2.0/share/registry/res/sw-TZ/org/openoffice/Office/UI/
vi GenericCommands.xcu
                                        <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 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.

Read more »

April 23, 2006 11:00

Cygwin and Windows XP

I am installing "cygwin" in a Windows XP box to compile 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
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.

Read more »

Image Resolution: Small | Medium | Large