Status of main branch, and debugging on Windows
Jean-Sébastien Guay
jean_seb at videotron.ca
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:
https://developer.pidgin.im/wiki/BuildingWinPidgin/3.0.0
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 prepare-workspace.sh 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.
J-S
--
______________________________________________________
Jean-Sebastien Guay jean_seb at videotron.ca
http://whitestar02.dyndns-web.com/
More information about the Devel
mailing list