Status of main branch, and debugging on Windows

Jean-Sébastien Guay jean_seb at
Wed Feb 12 00:19:28 EST 2014

Hello Pidgin devs,

First, a quick presentation: I've been an active participant in a few 
open source projects in the past (Bugzilla, OpenSceneGraph, ...) and 
have occasionally fixed a few bugs in other projects (more sporadically 
- the time to get set up and finally be able to debug and fix anything 
is generally longer than actually diagnosing and fixing the bug... IMHO 
it should be one of the goals of open source projects, to decrease that 
barrier to entry into the project -- more on that later).

In this case, I'd like to see if I can fix an issue I see where Pidgin 
can't display custom smileys when the message comes from native MSN 
clients (but the same message from a Pidgin client gets converted to the 
custom smiley just fine). I know, not exactly the biggest problem in the 
grand scheme of things...

But this message is not about that -- I want to enquire as to the 
current status of the main branch (or 3.0.0-devel).

Using the instructions here:
and with some small modifications to get everything building, I was able 
to make an installer and install my own build for Windows. And it runs :-)
(aside: as-is the main branch would not build on Windows currently, as 
pidgin_start() needs to get an extra HINSTANCE parameter if _WIN32 is 
defined... don't you have an auto-build system that tests that new 
checkins build on all platforms, at a minimum?)
(aside 2: where should I send my patch which fixes the Windows build for 
discussion? Create a ticket or this mailing list?)

However some things don't seem to work, in particular related to smileys 
(which is a real bummer as that's what I want to work on)

For example:
* If I send a ":-)" then in the chat window I see a broken image icon 
instead of the smiley. But the recipient (running an older version of 
Pidgin) sees the smiley.
* Likewise if someone sends me a smiley. The sender sees it in their 
chat window but I see a broken image icon.
* And if I open the smiley chooser window (the smileys display fine 
there) and select a smiley, I get a broken image icon in the text entry 
field, and pressing Enter does nothing (it does not send the message as 
it should). I have to delete the broken smiley from the text field to be 
able to send text again.

I haven't tested more than that, but I'm afraid more things could be 
broken in the main branch which would make using it harder even if I 
*did* fix the bug I want to fix :-)

I could make a build of the 2.x (I guess 2.10 at this point) branch, but 
honestly, the script made things much simpler than 
to have to download and unpack a bunch of dependencies manually so I 
thought I'd try 3.0.0-devel first. Kudos to Tomek Wasilczyk who made 
that script, it's a great way to get going quickly :-) If the general 
concensus is that it would be easier to use the 2.10 branch and work off 
that then I'll go through the trouble of setting up the dependencies 
manually... Or maybe I'll adapt Tomek's script to that branch?

And last question, on Windows, how would I get started with debugging my 
own build (with gdb I guess)? I tried using the cygwin-installed gdb, 
and passing one -s argument for each .dbgsym file that gets installed 
when you check the "Debugging symbols" checkbox in the installer, but 
gdb still says when it loads pidgin.exe that it finds no debugging symbols.

gdb \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/libjabber.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/libmeanwhile-1.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/liboscar.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/libpurple.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/libssp-0.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/libymsg.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/pidgin.dll.dbgsym \
-s /cygdrive/c/Program\ Files\ 
\(x86\)/Pidgin/pidgin-3.0.0devel-dbgsym/pidgin.exe.dbgsym \
/cygdrive/c/Program\ Files\ \(x86\)/Pidgin/pidgin.exe

Is the problem that I need to use the mingw version of gdb instead of 
the cygwin one? Has anyone done this on Windows (my intention is to be 
able to place breakpoints and inspect variables, not much more).

Thanks in advance for any suggestions as to how to get going on this.


Jean-Sebastien Guay              jean_seb at

More information about the Devel mailing list