Libpurple can't connect - purple_presence_is_online failed Libpurple can't connect - purple_presence_is_online failed windows windows

Libpurple can't connect - purple_presence_is_online failed


Few things to note:

  1. Each OS has its own issues when a program is deployed. So, ignore the fact that your client is working in Linux. Start with the fact, that your program / libpurple didn't work in Windows.

  2. Try to see if there is a client ( pidgin etc ) which uses the same code path ( the function where the assertion fails ), and succeeds. This is to do basic sanity check that the libpurple code is in fact usable in that environment ( Cygwin )

  3. If there is any traffic between your client and the server, try getting a wireshark traffic dump, and compare it between working ( Linux ) and failing ( Cygwin ) environment.


Why not use a simple XMPP client library like GLOOX (http://camaya.net/gloox) instead of libPurple. GLOOX is a cross platform library that do not need CYGWIN on Windows to compile. And its complete, providing implementation for all the essentail XMPP estensions.

However, if you want to connect to other non-XMPP networks like Yahoo, Facebook, then libPurple will definitely is the answer.


Since your issue is hard to reproduce, I'd suggest you use the debugger to investigate where that "presence" pointer comes from, and which code block sets it to NULL. Then you could ask "why purple_stupid_function() returns a NULL pointer" which is much easier to answer.