OWB (GTK flavour) on Nokia N800

Requirements

To run OWB on N800 you will first have to compile. Unfortunately, no install or .deb package is provided for the moment.
The following additional source packages are required to compile and run OWB:

  • CMake: A cross-platform tool to manage the build process.
    This package is required for owb compilation only.
  • gperf: Used to produce hash tables and other things.
    This package is required for owb compilation only.
  • ICU: International Component for Unicode library from IBM.
    This package is required for owb compilation and runtime.

And also the following, available through debian packaging:

  • flex
  • libxslt1.1-dev
  • libreadline4-dev

Packages installation

The following steps are only valid inside Maemo SDK. If you don't have any Maemo SDK installed, please follow installation guide. So the first thing to do is to login inside Maemo scratchbox.

Available from repository

Just enter:

apt-get install flex

for X86 profile. And enter:

apt-get install libxslt1-dev
apt-get install libreadline4-dev

for both X86 and ARMEL profiles.

CMake Installation

First ensure that you run SDK_X86 profile:

sb-conf se DIABLO_X86

Then:

tar xzvf cmake-2.4.7.tar.gz
cd cmake-2.4.7
./bootstrap --parallel=3 --prefix=/host_usr/
make
make install

To correctly run CMake with SDK_ARMEL profile, I have had to do the following:

mkdir -p /host_usr/{lib,bin}
cd /host_usr
cp -l /targets/DIABLO_X86/usr/lib/libstdc++.so.6* lib

Finally, edit /etc/ld.so.conf and prepend the following line: /host_usr/lib. Then run ldconfig. Then switch to ARMEL profile and redo the same.

Gperf Installation

tar xzvf gperf-3.0.3.tar.gz
cd gperf-3.0.3
./configure --prefix=/host_usr
make
make install

ICU Installation

For the SDK_X86 profile:

sb-conf se DIABLO_X86
tar xzvf icu4c-3_6-src.tgz
cd icu/source
./configure --prefix=/usr --enable-static --disable-layout --disable-tests --disable-samples --disable-icuio
make
make install

For the SDK_ARMEL profile:

sb-conf se DIABLO_ARMEL
tar xzvf icu4c-3_6-src.tgz
cd icu/source
./configure --prefix=/usr --enable-static --disable-layout --disable-tests --disable-samples --disable-icuio --host arm-linux
make
make install

OWB compilation

  • Compile OWB:
    mkdir build_owb-n800
    ccmake ..
    make
    

During ccmake step, simply enable WEBKIT_USE_N800_HILDON. You may want to disable HTML5_VIDEO to remove gstreamer dependencies. Or you can run:

cmake -D WEBKIT_USE_N800_HILDON=ON -D WEBKIT_USE_HTML5_VIDEO=OFF ..

instead of ccmake.

Tips

  • If you compile OWB with dynamic libraries, you will have to copy libjscore.so, libbal.so and libwebcore.so in /usr/lib for instance.
  • Quick test:

Outside scratchbox environment:

Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite

Inside scratchbox environment:

export DISPLAY=:2
af-sb-init.sh start
run-standalone.sh bin/owb