Saturday, December 18, 2010

How to build Dillo on OpenSUSE 11.3

Dillo is a small, fast, and light browser.  In order to build it on OpenSUSE, you will need some pre-requisites.  This article will cover how to get the source code for Dillo (and associated libraries), as well as the software build tools you will use to compile the Dillo browser.
First, open a terminal, and make yourself a work directory, and cd into it: (Note that the dollar sign '$' indicates a shell prompt, so you don't type that part in)

$ cd tmp
$ mkdir build
$ cd build

Then the you will want to get the source for dillo.  You will also need to get the source for FLTK2.

Iin your terminal, do:

$ wget -c http://www.dillo.org/download/dillo-2.2.tar.bz2

You should now have a copy of dillo-2.2.tar.bz2

Now do:

$ wget -c http://ftp.funet.fi/pub/mirrors/ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r7725.tar.bz2

When the download is completed, you will have the FLTK2 bzip file.  Unpack them:

$ tar -xvjf  dillo-2.2.tar.bz2

When that is finished, do:

tar -xvjf fltk-2.0.x-r7725.tar.bz2

At this point you should have a directory for dillo, and one for FLTK2:

$ ls
$ dillo-2.2  dillo-2.2.tar.bz2
fltk-2.0.x-r7725  fltk-2.0.x-r7725.tar.bz2


Change directory into the fltk-2.0 directory (We need to build that first)

$ cd fltk-2.0.x-r7725/

Before we do anything else, we need to install some tools, or you will never be able to build the source.  In the terminal, first change to root (su root) then

$ zypper install gcc gcc-c++ autoconf automake make flex bison libjpeg-devel libpng14-devel zlib-devel Mesa Mesa-devel xorg-X11-devel

It will ask you if you want to install these things - it might recommend other things - just hit 'y' and enter.

Once the tools are installed, you can hit ctrl-d to drop back down to your regular user account. Now we are ready to build.  If you have more than one processor, the make utility can use them all.  Even if you have only a single core machine, you can still tell make to use "two" versions of itself.  For every core you have available, do a number one higher than that.  So for example with a dual core, do make -j3, on a quad core, do make -j5 and so on.  If you have a single core machine, do:

$ make -j2

If you have a fast quad core system, it should take less than a minute.  If you have a single core machine, it will take considerably longer. Once the build is done (it should end with something like this - with no error messages

Linking timer...
Linking utf...
Linking fullscreen...
Linking valuators...
Linking list...
Linking wizard...
$


Then su into root again, and type

$ make install

If all goes well, you now have a working version of FLTK2.  Now we need to build dillo.  So, drop back into regular user status by hitting ctrl-d then:

$ cd ../dillo-2.2
$ ./configure

Once again, use the make -j2 (or whichever -j number you used before):

$ make -j2

When it is done building (you get your prompt back, and there are no errors just before it), then su into root one more time, and do:

$ make install-strip

When it is done installing, hit ctrl-d to drop out of root, and you can run dillo by typing dillo in the terminal, and hitting enter.  That's it - you are done!  Enjoy the blazing fast speed of dillo!

2 comments:

  1. Thank you for this howto! It works without errors in OpenSuSe 11.3. I get compling errors with http://www.fltk.org/ release 8501, so I Googled after OpenSuSE solution and found yours, thankfully.
    One notice, you use su ... exit(ctrl+D). Would it be more secure to use sudo?

    //Seppo

    Ps. I want to test Dillo in an old Laptop where Firefox is too heavy.

    ReplyDelete
  2. Hi Seppo,

    I am glad to hear that this was helpful for you. It took a fair bit of work to figure out the dependencies; I figured I might save anyone else the same amount of work.

    As to using sudo, you might be right. I have never really gotten into using it, but it certainly would save the steps of logging out of root, and possibly doing something else unwanted as root (because you forget to log out of root).

    Good luck with your testing. I am hoping that Dillo will be back into the package repositories of the main Linux distributions soon enough. It kind of fell out of favour, given the fact that FLTK 2 is largely dormant and thus unsupported, and unmaintained. There is hope though: Dillo is currently being ported to use FLTK 1.3, which is currently maintained, so both FLTK and Dillo will be able to have any security issues addressed in a timely fashion.

    ReplyDelete