Cross-compiling Pidgin 2.10.7: multiple definition of `___stack_chk_fail'

Konrad Gräfe kglists at
Wed Jun 4 17:46:11 EDT 2014

Am 10.02.2014 01:49, schrieb Konrad Gräfe:
> Am 07.02.2014 16:47, schrieb Daniel Atallah:
>> On Fri, Feb 7, 2014 at 9:02 AM, Konrad Gräfe <kglists at> wrote:
>>> Hello there,
>>> Additionally I had to modify libpurple/protocols/mxit/markup.c as it
>>> uses uint8_t without including stdint.h (though I don't understand why
>>> others aren't affected). See the attached fix_mxit_missing_header.patch.
>> I think the right fix is to use the glib data types, which will be exposed
>> at that time.
>> I'm not sure why this isn' t a problem building with the native compiler.
> You're right. I attached another patch although I think that you
> wouldn't need it. ;)
>> Furthermore I adopted some patches to fix some recurring warnings in
>>> Pidgin 2.10.9 (fix_errno_warning_mingw.patch) and win32/gtk_2_0-2.14
>>> (fix_gtk_apple_cc_warning.patch). I hope I labeled the sources
>>> sufficiently as I did not made the Patches by myself.
>> Hmm... those errno constants ideally would not be defined - they're not
>> part of the normal windows headers.
>> Where are they being defined?
> Please see the attached make.log. libpurple/internal.h includes errno.h
> in line 86.
>> The latter isn't something that we maintain, so I don't think we should be
>> patching it.
> I know. It has been fixed in the current version of GTK+ anyway. I just
> attached it in case someone else is stumbling over this thread.
>> Unfortunately I still have a problem: the officially distributed Pidgin
>>> is not able to load plugins I built against "my" Pidgin. It says it
>>> could not found some symbols but it didn't say which one and I had no
>>> time to investigate it any further. "My" Pidgin is running well on
>>> Windows and loads my plugin just fine. Does anyone have any thoughts on
>>> that?
>> It's hard to say without more details.
>> The Dependency Walker "depends" utility and/or cygwin's "ldd" command may
>> shed some light.
> My plugin wants a function named "InterlockedCompareExchange at 12" from
> libpurple.dll which my libpurple.dll does offer and the official one
> does not. From what Google says that was a bug in mingw that has been
> resolved though I cannot find a change log that says when the fix was
> introduced exactly. Additionally [1] says that there are binary
> incompatibilities between libraries compiled with mingw32-gcc before and
> after version 4.7.0 so I guess version 4.7.0 or later is required and I
> have to install a more recent mingw32-gcc manually instead of using any
> Ubuntu package, hm.
>>> Besides I would like to know what versions of the compiler and the
>>> w32api were used to build the official Pidgin as this is somewhat
>>> unclear in the wiki [1].
>> As per the mingw site linked to from the BuildingWinPidgin wiki page:
>>  * gcc 4.7.2
>>  * win32api 3.17.2
> Thank you.
> Regards,
> Konrad Gräfe
> [1]
> _______________________________________________
> Devel mailing list
> Devel at

FTR: Ubuntu 14.04 brings gcc 4.8.2 (package "gcc-mingw-w64-i686", NOT
"mingw") which works. I still had to apply the patches
"fix_mxit_missing_header.patch" and "fix_errno_warning_mingw.patch" that
I posted earlier in this thread.

Konrad Gräfe

More information about the Devel mailing list