plugins: probing /usr/lib/gaim/perl.so plugins: /usr/lib/gaim/perl.so is unloadable: Unknown error. plugins: probing /usr/lib/gaim/perl.la The problem does not occur in 0.74. It appears to occurs when compiling GAIM manually as well. 0.74's perl.so seems load into 0.75 and work properly, although I assume that's not a good idea. Reproducible: Always Steps to Reproduce: 1. emerge =gaim-0.75-r1 2. gaim -d Actual Results: sound: Initializing sound output drivers. plugins: probing /usr/lib/gaim/docklet.so plugins: probing /usr/lib/gaim/docklet.la plugins: probing /usr/lib/gaim/gestures.so plugins: probing /usr/lib/gaim/gestures.la plugins: probing /usr/lib/gaim/perl.so plugins: /usr/lib/gaim/perl.so is unloadable: Unknown error. plugins: probing /usr/lib/gaim/perl.la plugins: probing /usr/lib/gaim/ticker.so plugins: probing /usr/lib/gaim/ticker.la (... etc normal loading stuff ...) Expected Results: Load perl.so Gaim-Encryption, Perl 5.8.0-r12 (no threads) Emerge info: Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.22-gentoo-r3) ================================================================= System uname: 2.4.22-gentoo-r3 i686 00/02 Gentoo Base System version 1.4.3.10p1 distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" USE="X aalib alsa apache2 apm arts avi berkdb cdr crypt cups encode esd foomaticdb gdbm gif gpm gtk gtk2 guile imlib java jpeg kde ldap libg++ libwww mad mikmod mozcalendar mozilla mozsvg mpeg mysql ncurses nls oggvorbis opengl oss pam pda pdflib perl png python qt quicktime readline samba sdl slang spell ssl tcltk tcpd tetex truetype usb x86 xml2 xmms xv zlib"
I don't use perl plugins myself so this is hard for me to test at the moment. Would it be possible to post your plugin code here along with instructions for use?
An initial thought would be to edit the gaim-0.75-r1.ebuild file in /usr/portage/net-im/gaim/ and comment out this line in src_compile(): use perl && sed -i -e 's:^\(PERL_MM_PARAMS =.*PREFIX=\)\(.*\):\1'${D}'\2:' plugins/perl/Makefile I'm not sure if that line is needed, it precedes my time here. I'll do some historical research on it unless lostlogic has some immediate insight.
Actually I'm dumb and that line tells the perl plugin to install into the portage dir otherwise you'll get a sandbox violation.
Created attachment 23610 [details] Test perl plugin Place in /usr/lib/gaim/
This might be an upstream bug, but I'm new at this and Gentoo says to report here first. And I don't have any non-Gentoo setups to play around with :) Another note: the first time the Gaim developers released 0.75 (before they switched tarballs) I think the perl.so loaded but then it had a segfault when it tried to load my script. That isn't happening in the new source code as it doesn't load perl.so.
Yeah it is best to go through me unless I ask you to post it upstream. I'm getting that error with your test code in perl 5.8.2, so perl version should not be a factor.
I realize now that the plugin code doesn't matter. That error happens when gaim's perl engine loads, regardless if there are perl scripts in the lib directory. Anyway I'm trying to work this out in #gaim to see if it's just gentoo or something on their end.
Created attachment 23611 [details] config.log with some perl errors Attaching my config.log. It has some errors regarding perl that might be related. Going to see if a gaim dev can take a look.
I got confirmation that perl plugins in gaim are broken upstream with perl >= 5.8.1. Gaim devs insist that it works with 5.8.0, so can you confirm your version, and if so please post your config.log?
Created attachment 23612 [details] Reporter's config.log $ perl -v This is perl, v5.8.0 built for i686-linux
Comment on attachment 23612 [details] Reporter's config.log Please set your attachments as text/plain.
Whether or not it is related, we are both getting the Perl_eval_pv error. From what I'm told, this is a C function that should be installed by perl, so perhaps the gentoo install of perl is missing something. I'm trying to contact a perl maintainer to find out more about this function.
I'm cc'ing perl@gentoo.org since no one is in #gentoo-dev. Can you guys tell us anything about the Perl_eval_pv function for C? I'm told it's supposed to be installed by perl but we're getting errors from gaim during config (view either of our config logs (attached) to see).
Vindication comes. This bug is upstream after all. I'm told this change broke things: http://cvs.sourceforge.net/viewcvs.py/gaim/gaim/src/plugin.h?r1=1.17&r2=1.18 They are working on a fix. No bug has been created with them yet but if there is I'll update with their tracker ID.
Cool, thanks for looking into this
Sounds like it's fixed in CVS: http://cvs.sourceforge.net/viewcvs.py/gaim/gaim/src/plugin.h