No emails sent when 'reply'ing (aka corresponding) to a ticket

rt 3.6.3 installed from tarball from bestpractical’s site on ubuntu
v6.10 with perl v5.8.8.

when a user clicks ‘reply’ to a ticket, or to a comment on a ticket, the
‘reply’ gets properly recorded and associated with the ticket, but email
is not sent to the owner or requester.

I haven’t messed with any scrips.

Email does work on the server, but /var/log/mail.* on the server
indicate that no email is attempted to be sent when i do a ‘reply’.

~rt/var/log/rt.log contains nothing that obviously explains the failure
to send email, but does get lines like this when a ‘reply’ is done:

Scrip Prepare 8 died. - Undefined subroutine &Scalar::Util::weaken
called at /usr/local/rt/lib/RT/Action/Generic.pm line 107.

Are those errors really associated with the failure to send email?

If so, the following urls say that I should rebuild perl wish xs
support:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-05/msg00796.html

http://www.mail-archive.com/debian-bugs-dist%
40lists.debian.org/msg195610.html

I tried to do so unsuccessfully:

  1. i downloaded perl from perl.com, built it, and installed it
    in /usr/local/bin, which comes before /usr/bin in my path. Restarted
    apache, but problem persisted.

  2. rebuilt perl after applying the patch from the 3rd url above;
    reinstalled perl; restarte apache, but problem persisted (and the newly
    installed Scalar/Util.pm still didn’t have a weaken() sub defined).

If this is the right track, can someone explain how I should rebuild
perl so that the Scalar::Util::weaken() sub is defined?

Thanks,

Jon

If this is the right track, can someone explain how I should rebuild
perl so that the Scalar::Util::weaken() sub is defined?

you don’t need to rebuild perl, you just need a working Scalar::Util

perl -MCPAN -e’install Scalar::Util’

should help

-kevin

If this is the right track, can someone explain how I should rebuild
perl so that the Scalar::Util::weaken() sub is defined?

you don’t need to rebuild perl, you just need a working Scalar::Util

perl -MCPAN -e’install Scalar::Util’

I forgot to mention that I’d already tried that to no avail. I just did
it again and did a diff between the Scalar/Util.pm that was installed as
part of the Ubuntu deb, and the Scalar/Util.pm that I installed from
CPAN. The only diffs were:

1) the CPAN version has a bunch more pod stuff within it
and
2) the CPAN version is 1.19, as opposed to 1.18.

So, I’m still in the same broken state.

Btw, neither perl installed by distributor package on Debian testing,
nor on Centos 4.4, has Scalar/Util.pm with a weaken() sub defined in it
(at least as far as I can see).

Any other ideas? Thanks,

Jon

Hello,

I’m sending this email again, because I only received one reply before,
and it only addressed one point …

rt 3.6.3 installed from tarball from bestpractical’s site on ubuntu
v6.10 with perl v5.8.8.

when a user clicks ‘reply’ to a ticket, or to a comment on a ticket, the
‘reply’ gets properly recorded and associated with the ticket, but email
is not sent to the owner or requester.

That is the problem I’m trying to fix. The only clue I have as to what
is wrong, are lines in rt’s logfile that say:

Scrip Prepare 8 died. - Undefined subroutine &Scalar::Util::weaken
called at /usr/local/rt/lib/RT/Action/Generic.pm line 107.

I verified that there is no f() named ‘weaken’ in the Scalar/Util.pm
that was installed with ubuntu’s perl package.

Are those errors really associated with the failure to send email?

If so, the following urls say that I should rebuild perl wish xs
support:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-05/msg00796.html
Bug #46281 “XS version of Scalar::List::Utils no longer included...” : Bugs : perl package : Ubuntu
http://www.mail-archive.com/debian-bugs-dist%
40lists.debian.org/msg195610.html

Is this undefined subroutine really the source of the problem? If so,
can someone either:

a) tell me which linux distro has a rt-compatible Scalar/Util.pm by
default

or

b) tell me in more detail than the URLs above, how to fix up my ubuntu
box with a Scalar/Util.pm that defines the ‘weaken’ subroutine?
(I’ve checked Debian Testing, RedHat ES 3, and Centos 4; none of them
define a ‘weaken’ subroutine - at least as far as I can tell).

AtDhVaAnNkCsE,

Jon

Are those errors really associated with the failure to send email?

If so, the following urls say that I should rebuild perl wish xs
support:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-05/
msg00796.html
Bug #46281 “XS version of Scalar::List::Utils no longer included...” : Bugs : perl package : Ubuntu
http://www.mail-archive.com/debian-bugs-dist%
40lists.debian.org/msg195610.html

Is this undefined subroutine really the source of the problem? If so,
can someone either:

a) tell me which linux distro has a rt-compatible Scalar/Util.pm by
default

Do you have a C compiler? Scalar::Util cannot build weaken without it.
I have a debian box where the broken Scalar::Util was installed but
cpan was able to install a new version that did work.

Installing /usr/local/lib/perl/5.8.8/auto/List/Util/Util.bs
Installing /usr/local/lib/perl/5.8.8/auto/List/Util/Util.so
Files found in blib/arch: installing files in blib/lib into
architecture dependent library tree
Installing /usr/local/lib/perl/5.8.8/List/Util.pm
Installing /usr/local/lib/perl/5.8.8/Scalar/Util.pm
Installing /usr/local/man/man3/List::Util.3pm
Installing /usr/local/man/man3/Scalar::Util.3pm

If you don’t see Util.so, it didn’t build properly.

You don’t need to rebuild perl, just Scalar::Util.

Unfortunately, Scalar::Util being broken seems to be a common distro
problem these days.
When rt3.6.4 is released, it will check for Scalar::Util::weaken
during startup.

-kevin

Are those errors really associated with the failure to send email?

If so, the following urls say that I should rebuild perl wish xs
support:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-05/
msg00796.html
Bug #46281 “XS version of Scalar::List::Utils no longer included...” : Bugs : perl package : Ubuntu
http://www.mail-archive.com/debian-bugs-dist%
40lists.debian.org/msg195610.html

Is this undefined subroutine really the source of the problem?
If so,
can someone either:

a) tell me which linux distro has a rt-compatible Scalar/Util.pm by
default

Do you have a C compiler? Scalar::Util cannot build weaken
without it.
I have a debian box where the broken Scalar::Util was installed but
cpan was able to install a new version that did work.

I do have gcc. I did try last week to rebuild Scalar::Util by
reinstalling it via CPAN,

perl -MCPAN -e shell
install Scalar::Util
quit

but the resultant Util.pm still didn’t have a defined ‘sub weaken’. I
didn’t pay much attention to what cpan actually did, so I tried again
today:

  1. I deleted any Scalar/Util.pm I could find (and there were 3
    different
    copies, in various places beneath /usr/local/)

  2. i started up the cpan shell (perl -MCPAN -e shell), which told me
    there was a newer version of CPAN available. I installed it, and
    reloaded it.

  3. within the shell, i typed:
    make clean Scalar::Util
    install Scalar::Util

This time, I paid attention to what cpan was saying. It appears to
have
failed, but I have no clue why/how. It seems to be saying it can’t
find
Scalar/Util.pm. Here are the last 30 or 40 lines of output from it:

CPAN: File::Temp loaded ok (v0.18)

CPAN.pm: Going to build G/GB/GBARR/Scalar-List-Utils-1.19.tar.gz

Checking if your kit is complete…
Looks good
Writing Makefile for List::Util
cp lib/List/Util.pm blib/lib/List/Util.pm
cp lib/Scalar/Util.pm blib/lib/Scalar/Util.pm
/usr/local/bin/perl “-Iinc” /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp
-typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap Util.xs >
Util.xsc
&& mv Util.xsc Util.c
cc -c -fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
-DVERSION="1.19" -DXS_VERSION="1.19" -fpic
“-I/usr/local/lib/perl5/5.8.8/i686-linux/CORE” -DPERL_EXT Util.c
Running Mkbootstrap for List::Util ()
chmod 644 Util.bs
rm -f blib/arch/auto/List/Util/Util.so
cc -shared -L/usr/local/lib Util.o -o blib/arch/auto/List/Util/
Util.so

\

chmod 755 blib/arch/auto/List/Util/Util.so
cp Util.bs blib/arch/auto/List/Util/Util.bs
chmod 644 blib/arch/auto/List/Util/Util.bs
Manifying blib/man3/List::Util.3
Manifying blib/man3/Scalar::Util.3
GBARR/Scalar-List-Utils-1.19.tar.gz
/usr/bin/make – OK
Catching error: 'Alert: While trying to ‘dump’ YAML file
‘/root/.cpan/build/Scalar-List-Utils-1.19-mOIDkN.yml’
with ‘YAML’ the following error was encountered:
Can’t locate Scalar/Util.pm in @INC (@INC
contains: /usr/local/lib/perl5/5.8.8/i686-linux /usr/local/lib/
perl5/5.8.8 /usr/local/lib/perl5/site_perl/5.8.8/i686-linux /usr/
local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /
root) at /usr/local/lib/perl5/5.8.8/overload.pm line 88.

’ at /usr/local/lib/perl5/5.8.8/CPAN.pm line 274
CPAN::shell() called at -e line 1

I’ll assume you’ve done something like remove the ubuntu Scalar::Util
package?
That would make YAML unhappy

Try to just download Scalar::Util from Search the CPAN - metacpan.org
Scalar-List-Utils/
and run perl Makefile.PL && make && make test && make install manually.
If you do that, you can also convince yourself that things are happy
by running
prove -lv t/weak.t to test weaken()

-kevin