[rt-users] RTIR - Installation Issue - YAML.pm path missing in @INC at Apache Startup

Timothy M. Pearson tpearson at ois.pittstate.edu
Mon May 11 13:25:15 EDT 2009


Hi all,

Briefly - This post asks for help with an installation issue with RTIR 2.4.1. 

I have a:
CentOS 5.3 server with...

RT v 3.8.2 installed, configured and working
RTFM v 2.4.1 installed, configured and working
RTIR v 2.4.1 ("perl Makefile.PL" reports all ok - "make install" succeeds)

When I enable the RT:IR plugin in RT_SiteConfig.pm - apache fails to start with the following error:

[Mon May 11 11:15:27 2009] [error] Can't locate YAML.pm in @INC (@INC contains: /opt/rt3/bin/../local/lib /opt/rt3/local/plugins/RT-FM/lib /opt/rt3/local/plugins/RT-IR/lib /opt/rt3/bin/../lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 . /etc/httpd) at /opt/rt3/local/plugins/RT-IR/lib/RT/IR.pm line 437.\nBEGIN failed--compilation aborted at /opt/rt3/local/plugins/RT-IR/lib/RT/IR.pm line 437.\nCompilation failed in require at /opt/rt3/bin/../lib/RT.pm line 625.\nCompilation failed in require at (eval 2) line 1.\n

[Mon May 11 11:15:27 2009] [error] Can't load Perl file: /opt/rt3/bin/webmux.pl for server itsec.pittstate.edu:0, exiting...

I've found nothing similar in searching the list archives, the wiki, or even Google.

YAML.pm is present on my system at the following locations: 

[root at itsec usr]# cd /usr/lib/perl5
[root at itsec perl5]# find . -name YAML.pm
./site_perl/5.8.8/Module/Build/YAML.pm
./site_perl/5.8.8/Test/YAML.pm
./vendor_perl/5.8.8/Locale/Maketext/Extract/Plugin/YAML.pm
./vendor_perl/5.8.8/Module/Build/YAML.pm

As apache reports, none of those paths appear in @INC at apache startup time.

***** Looking at the code: *****

Line 625 of RT.pm is in subroutine InitPlugins.

However, if we back up a step and look at line 437 of RT.pm, we see that it's doing a "use:YAML;" right before making an attempt to log a critical error message that says "$self is not a ticket object like I expected"... it seems that had things been proceeding normally, $self WOULD have been a ticket object and we wouldn't have taken the "else" branch in this code.

I'm not a perl guy, I'm a poor SysAdmin with a little programming experience.  I'm hoping someone will take pity on me and offer some advice as to what the next step might be to try to resolve this problem. :)

Thanks in advance!


Tim Pearson
Systems Administrator
Pittsburg State University



More information about the rt-users mailing list