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

iaxLite

Random Posted on 23 Mar, 2009 22:18:53

I spend the last many hours with support, my ISP, fiddeling with VPN etc trying to get my ip-telephony working – and guess what – we finally succeded – it looks like all the trouble was due to the use of the SIP protocol that seems to have some generic problems with firewalls.

There is another protocol for IP telephony, called IAX, this was what we tried in the end – I found a simple piece of software that used this protocol on Windows:
It can be downloaded from here.

This means that I can start to join teleconferences – yes!



Got a Nokia N810

Random Posted on 23 Mar, 2009 14:20:14

Got a cool piece of hardware, the Nokia N810 delivered a few hours ago. It’s a small computer running a Linux port, with integrated keyboard and touch screen.

You are supposed to connect it to a wireless network or a bluetooth enabled mobile phone, so ones I get some software build I can start to test Fennec on a real device – cool 🙂



/usr/include/gstreamer-0.10/gst/gstbuffer.h:359: error: comma at end of enumerator list

GStreamer Posted on 23 Mar, 2009 14:07:39

So the version of the compiler that is used here aparently doesn’t support the following:

typedef enum {
GST_BUFFER_COPY_FLAGS = (1 << 0),
GST_BUFFER_COPY_TIMESTAMPS = (1 << 1),
GST_BUFFER_COPY_CAPS = (1 << 2),
} GstBufferCopyFlags;

Which as far as I remember is one of the of the “newer” add-ons to the language, it’s easy to solve, as we just have to remove the last comma:

typedef enum {
GST_BUFFER_COPY_FLAGS = (1 << 0),
GST_BUFFER_COPY_TIMESTAMPS = (1 << 1),
GST_BUFFER_COPY_CAPS = (1 << 2)
} GstBufferCopyFlags;



error: libxml/parser.h: No such file or directory

GStreamer Posted on 23 Mar, 2009 13:54:25

Another header file seems to be missing, until now the solution for this problem has either been to add the correct include path to the build system and/or to install the package that is needed in scratchbox.

A package search reveals a plosible hit with the libxml++2.6-dev package, searching for the file gives some hits, lets try:

-I/usr/include/libxml2 \

In the INCLUDES section of the make file.

Yep – that solved it.



0.10 vs 0.10.22 or attention to details

GStreamer Posted on 23 Mar, 2009 12:18:52

Can you remember I was adding:

-I$(srcdir)/../../../../gstreamer/gstreamer-0.10.22 \

To the build file? – mmm…. that is not a complete gstreamer lib and I got errors about missing include files using that one 🙁 the “real” one is in another place, it can be found in /usr/include/gstreamer-0.10 so the correct include modification to the make file should be:

-I/usr/include/gstreamer-0.10 \

I took me a little while to figure out what was going on, since a file search found it (in the 0.10 dir), but the compiler couldn’t, because it looked in …0.10.22 🙂

Now, one should start to ask oneself, why is there an “incomplete” gestreamer-0.10.22 on my drive, is it a patch?



My mistake: *** commands commence before first target. Stop

GStreamer Posted on 23 Mar, 2009 11:01:13

It was a bad idea to have the #ifdef MOZ_GSTREAMER in the middle of the include files, it probably has something to do with the line continuation character just before the #ifdef – I’m not familiar with the pass steps for a makefile, but obviously it was messed up 🙂 so away they go, now using just:

-I$(srcdir)/../../../../gstreamer/gstreamer-0.10.22 \
-I/usr/include/glib-2.0 \
-I/usr/include/glib-2.0/include \
-I/usr/lib/glib-2.0/include \



glib.h Missing

GStreamer Posted on 23 Mar, 2009 09:48:34

As I don’t want to type all that stuff again, about why, and how I did – let me give you the short form – gstreamer needs glib. It was installed in my scrachbox, but it did not have its include path setup in the build.

The solution was to add the following, the the INCLUDES section of the makefile that also makes the gstreamer decoder:

ifdef MOZ_GSTREAMER
-I$(srcdir)/../../../../gstreamer/gstreamer-0.10.22 \
-I/usr/include/glib-2.0 \
-I/usr/include/glib-2.0/include \
-I/usr/lib/glib-2.0/include \
endif

I’m not sure if it is the correct place to do it, nor if it is done in the right way, but it makes sence that it is working if you do it in this place – I always get a little worried when I see stuff like ../../../ in makefiles, as it can lead to “funny” issues if you at another time want to move anything around in the tree.

(The gstreamer line was added previously to allow inclusion of the gstreamer header files)

The ifdef MOZ_GSTREAMER protection, is also something that should be considered agian, while it’s probably fine for the gstreamer directory, putting the “generic” glib includes under the same protection could lead to problems if any other code startet to rely on glib too. – It will work find as long as gstreamer is included in the build, but if it isn’t then the header files for glib cant be found. If another entity includes them too, then we might have multiple entries pointing the same include directory – not good either, as a messed up include dir can increase compile times significantly – for a project this size I don’t know if it will matter thou…

1 down x to go – Next entry about not found gst/* files 🙂 – I now cross my fingers that this entry will be accepted by the server…. (Ctrl+A Ctrl+C)



Argghhhh…. glib entry evaporated

Why did I reboot? Posted on 23 Mar, 2009 09:33:10

The blog just rejected to let me add a new entry about my troubles with glib – throwing away all my great work, could it be because I was talking about changing it to an elog (error-log) instead of a blog?