Blog Image

MikeK's software notebook

What you will find

This used to be the place where I wrote stuff I was thinking about while working on the Mozilla project.

Maybe in the near future I'll start to update it again as I'm involved in a couple of new open-source projects - updates pending...

Inconsistency detected by rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso’ failed!

Why did I reboot? Posted on 17 May, 2009 22:34:27

On my 64-bit Ubuntu box, I got this error when I tried to login to scratchbox after following the instructions here. Fortunately there was a hint on how to solve it here.

The trick was to add:

abi.vsyscall32 = 0

To my /etc/sysctl.conf file:

~$ sudo gedit /etc/sysctl.conf

and then running

~$ sudo sysctl -p

checking for minimum required Python version >= 2.4… configure: error: Python 2.4 or higher is required.

Why did I reboot? Posted on 07 May, 2009 13:40:15

Above fixed in scratchbox by:

> fakeroot apt-get install python2.4

checking for libnotify >= 0.4… Package libnotify was not found in the pkg-config search path.

Why did I reboot? Posted on 04 May, 2009 19:49:47

Todays build error is (might be related to fetching the latest code, or upgrading my desktop to the latest 64-bit Ubuntu-studie base on Ubuntu 9.04) :

configure: error: Library requirements (libnotify >= 0.4) not met;

I tried fixing it by:

~$ sudo apt-get install libnotify-bin

Didn’t seem to help anything, so tried with:

~$ sudo apt-get install libnotify-dev

and the issue was fixed 🙂

Updated 7 May 2009:

Note that when working in scratchbox you need to replace “sudo” with “fakeroot”

…/mozilla-central/ *** Couldn’t find autoconf 2.13. Stop.

Why did I reboot? Posted on 24 Apr, 2009 22:39:18

So yesterday I upgraded my Ubuntu on the laptop to version 9.04 – the Jaunty Jackalope I was a bit worried that it might get me into trouble with the Mozilla build, but since I’m at the Mozilla headquater this week, I was sure I could get help if it went totally bananas, better do it now, than when I’m back in DK was my thought 🙂

So as I thought it gave a build error – deleting the objdir and all random files I tried building again – this time I got the error:

…/mozilla-central/ *** Couldn’t find autoconf 2.13. Stop.

Kind of made sense, as the Ubuntu upgrade probably upgraded this component too, and in the process deleted the old version – so after figuring it out, the fix was easy, just had to reinstall the old package again:

~$ sudo apt-get install autoconf2.13

Restarted the build, soon enough I got the next error (well hidden in the build output):

Package gtk+-2.0 was not found in the pkg-config search path.

I tried:

~$ sudo apt-get install libgtk2.0-dev

which seemed to fix it…, at least I now got a new error

Package dbus-glib-1 was not found in the pkg-config search path

fixed by:

~$ sudo apt-get install libdbus-glib-1-dev

new one:

Package libIDL-2.0 was not found in the pkg-config search path.

fixed by:

~$ sudo apt-get install libidl-dev


configure: error: Could not compile basic X program.

This was a new one, not directly complaining about a missing package… looking in the config.log file in the “root” folder of the build (mozilla-central) I saw an error about a missing X11 file :

error: X11/Intrinsic.h: No such file or directory

Searching my drive for this file only showed that it was under the scratchbox directories – not good enough – so a quick Yahoo search (yes, there are other search engines than Google) – showed that the file was part of the libxt-dev package – so I tried:

~$ sudo apt-get install libxt-dev

It didn’t seem to make the “X11/Intrinsic.h” file appear in my search on the disk, but the build got happy enough to no longer bother me with the unability to compile the basic X program….

I then got another error that I forgot to cut’n’paste into this entry, the way I solved it was to delete all the build generated files in the mozilla-central directory…

The I got a bad one:

gfxPangoFonts.cpp:1841: error: ‘struct _PangoFcFontMapClass’ has no member named ‘context_substitute’

That one is because the Pango library interface changed between Pango version 1.22 and 1.24, so this means that I’m kind of forced to upgrade my source base to the latest, but as I was working on a rather old base in the first place that is probably ok 🙂

Getting rid of the “Entering directory” and “Leaving directory” noise

Why did I reboot? Posted on 08 Apr, 2009 13:25:03

I like my build output without unnecessary noise. A perfect build system would for me just have some kind of progress indicator, and then in the end write “Success” if the build succeeded 🙂

It gets a little harder when the build fails, as some information about where the failure was and what went wrong is really helpful 🙂

Today I discovered one way of getting a little closer to this, for me, ideal world. It is possible from the mozconfig file to tell the build system not to produce the “Entering directory” and “Leaving directory” messages that in my eyes just clutter the build output in 99% of the cases.

The way to do it is to add a –no-print-directory option to the MOZ_MAKE_FLAGS, like:

mk_add_options MOZ_MAKE_FLAGS=–no-print-directory

If you want to add multiple options it can be done like this:

mk_add_options MOZ_MAKE_FLAGS=”-j4 –no-print-directory”

The -j4 option tells the build system to have 4 processes running in parallel – be warned thou – I have 1 (one) time seen a build fail due to unlucky timing and using parallel builds (with -j2), it was easily fixed thou, as I just had to build again, giving a slightly different timing and a successful build.

configure: error: The header jni.h was not found.

Why did I reboot? Posted on 01 Apr, 2009 14:05:12

I don’t think I wrote about the above error before – but I have at several instances spend significant time on solving it…. In the output from the build there are some suggestions like setting some flags to disable JAVA in the configuration file, or setting the system up for Java.

But there is another possible reason that are not described in the output, and that is the reason that I usual have. The problem is that the various components of the build system are running from different directories, hence they need an absolute path to the configuration file – e.g. don’t write:

export MOZCONFIG=./myMozConfigFile

Give it the full path e.g.:

export MOZCONFIG=~/source/mozilla-central/myMozConfigFile

It’s ok to use ~ as the build system doesn’t change the “home” directory during the build.

Visual debugger

Why did I reboot? Posted on 01 Apr, 2009 10:52:49

Well, do you know gdb, the command line debugger for Linux, well… I’m sure it’s quite useful, but there is a better alternative that suits me better – insight, it’s still gdb but wrapped in a nice user interface 🙂 (insight even takes the same command line arguments as gdb)

(see my comment on KDbg in the… well.. comments section)

Ubuntu vs. Source Insight

Why did I reboot? Posted on 01 Apr, 2009 10:44:17

I’m one happy man right now 🙂 as you know if you follow this blog, I have been using Scratchbox under Ubuntu (Linux) to compile for the Nokia device – now I quite like Linux but I also like visual and userfriendly GUI tools 🙂

My main tool when looking in code is Source Insight, I haven’t found any other tool that helps so much when trying to understand code – but guess what I now have it running in Linux by the help of wine, it was just so easy:

sudo apt-get install wine

Then I went to the homepage of source insight, downloaded the windows version… well, the only version… it installed, and fired up – that’s it – a few minutes to create a project and scan the files, and I was ready to go – maybe later I will try with Beyond Compare the best compare tool – like the new 3-way merge they have made 🙂

Now I’m seriously considering kicking Vista out from my private desktop and using Linux for everything 🙂 – might do a dual boot for the rare ocasion where I want to play a game.

« PreviousNext »