Fix broken user status in Pidgin/Meanwhile

The user status display of the meanwhile plugin in Pidgin on Ubuntu is broken. If a user has logged in to the Sametime server before I start Pidgin, the user will still show offline in Pidgin. This has the effect that you get messages from offline users 🙂 .

This bug was reported in Pidgin as ticket #58. It got fixed in Meanwhile and is fixed in the Windows version for quite some time now. On Ubuntu however it still exists. The reason is that on Linux the Meanwhile library is a separate package that gets installed and maintained independently of Pidgin. And Meanwhile hasn’t released a new official version since the bug was fixed, so Ubuntu still includes version 1.0.2 of Meanwhile.

But the comments on ticket #58 have a description how one can build a fixed version of libmeanwhile:

  • get the source code

$ apt-get source meanwhile

  • get the following files from Meanwhile CVS 1.1.0 branch: cipher.c, mw_cipher.h, mw_st_list.h, common.c, mw_common.h, srvc_conf.c (don’t make the same mistake I made. You want the files labeled for 1.1.0 branch, not the head revision)
  • edit debian/changelog
  • build the patched package

$ dpkg-buildpackage -rfakeroot -uc -b

  • install the patched package

$ sudo dpkg -i libmeanwhile1_1.0.2-3-1_amd64.deb

You can find my patched package for 64-bit Ubuntu 8.04 here, the patched developer package and the patched source code.


3 thoughts on “Fix broken user status in Pidgin/Meanwhile

  1. Thanks for this post. It’s exactly what I was looking for.

    I wonder if this only happens with certain versions of the Notes sametime server? This issue *just* started happening to me now, whereas it looks like folks have been running into this for a while now.

    Anyway, here’s a quickie way to check out those particular files:

    for file in common.c mw_cipher.h mw_common.h mw_st_list.h srvc_conf.c ; do cvs -z3 co -r meanwhile_v1_1_0 -P meanwhile/src/${file}; done

    Thanks again!


  2. Thanks for the post.

    I followed the steps mentioned here but got the below mentioned error…
    channel.c:924: error: conflicting types for ‘mwChannel_selectCipherInstance’
    mw_channel.h:295: note: previous declaration of ‘mwChannel_selectCipherInstance’ was here
    channel.c: In function ‘mwChannel_selectCipherInstance’:
    channel.c:935: warning: assignment makes pointer from integer without a cast
    channel.c:941: error: ‘mwCipher_RC2_40’ undeclared (first use in this function)
    channel.c:945: error: ‘mwCipher_RC2_128′ undeclared (first use in this function)
    channel.c:954: warning: pointer/integer type mismatch in conditional expression
    make[3]: *** [libmeanwhile_la-channel.lo] Error 1
    make[3]: Leaving directory `/home/nehal/meanwhilesrc/meanwhile-1.0.2/src’
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/nehal/meanwhilesrc/meanwhile-1.0.2/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/nehal/meanwhilesrc/meanwhile-1.0.2′
    make: *** [build-stamp] Error 2
    dpkg-buildpackage: error: debian/rules build gave error exit status 2

    not sure how to move forward… Please help…


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.