Perl support in Gaim 0.75 (net-im/gaim-0.75-r10) appears to be broken: > perl -MGaim -e0 perl: relocation error: /usr/lib/perl5/vendor_perl/5.8.3/i686-linux/auto/Gaim/Gaim.so: undefined symbol: gaim_perl_callXS I found a pointer to the same problem on FreeBSD: http://lists.freebsd.org/pipermail/freebsd-ports/2004-February/009752.html and a fix from them: "The Perl module was broken in gaim since perl.h defined STATIC which broke the plug-in initialization. To fix this, check for a namespace friendly GAIM_STATIC_PRPL macro definition to decide if we need to build modules statically." http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/gaim/Makefile and a patch (which they generated from Gaim CVS): http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/ports/net/gaim/files/patch-src_plugin.h?rev=1.2&content-type=text/plain
Nevermind the above patch - that issue was already fixed by the gaim-0.75-static-prpls.patch that's included with the ebuild - the problem lays elsewhere.
Yes we fixed the upstream perl issue. I'll look around for your problem. Can you attach the perl plugin you're trying to use so I can try to duplicate?
http://sourceforge.net/tracker/?group_id=235&atid=100235&func=detail&aid=903310 Luke says it's fixed but I'm not sure if he's assuming this is the same bug.
I never even got as far as trying any perl plugins (I was going to write one); just running: perl -MGaim -e0 is enough to see the error. I'm pretty sure it's not fixed by bug 903310 as perl.so loads just fine in Gaim (according to the debug output) - it's the Gaim module in perl that craps out on me. The patch 903310 refs looks even older than what's in there currently.
Hmm I can still duplicate this error in gaim-0.76cvs as well. I'm going to escalate it with them. Sit tight for now.
I'm told that you shouldn't even be able to run that command. I would suggest trying a plugin and seeing how that goes.
http://sourceforge.net/tracker/download.php?group_id=235&atid=390395&file_id=65027&aid=827920 Try that plugin. If it loads and probes fine that things are OK. You cannot make use of the Gaim module from the command line.
crap. Yes, that plug-in works fine -- I saw the error and assumed it was broken. Apologies for the wild-goose chase. In my defense, 'perl -MModule -e0' is a pretty common way to see if a Perl module is installed (and should just exit quietly). Part of the problem, too, is that I guess the plugin stuff is in flux - even the included 'fortune.pl' Perl plugin makes Gaim segfault on exit. Again, apologies for the wasted effort. =(
Closing this out then. Not sure what "fortune.pl" you're talking about. I don't see one. If you have one and it segfaults, get a gdb backtrace and open a new bug here.
plugins/fortuneprofile.pl from the tarball -- sticks a fortune(1) in your profile. Not a big deal, thanks for your time.
I stick fortuneprofile.pl in my .gaim/plugins dir and it loads fine for me and runs fine. Of course I'm on 0.76cvs for my plugin testing. Can you get a backtrace of this?
It loads and runs fine for me as well - it just segfaults on exit; I only even noticed because I was running from the command-line (via the GUI, it doesn't generate a crash dialog). Actual functionality is fine - from my point of view, this is just a cosmetic bug. All I got with a backtrace was: Program received signal SIGSEGV, Segmentation fault. 0x40b43e60 in PerlIO__close () from /usr/lib/libperl.so.1 This doesn't happen if I have the fortune plugin disabled. Even after adding a 'plugin_unload' hook (which the good 'magic.pl' has), it still causes the SIGSEGV. Again, this is all just cosmetic from a user's point of view. If this is fixed in CVS, I'd let this bug die.
Yeah I'm told this is fixed in CVS as well. I'm not seeing this behavior in my 0.76cvs build.