Can't locate Parse/BooleanLogic.pm

Hello there,
I was doing a fresh installation of RT 5.0 and it was working fine. When i installed the RTIR plugin it stop working, gave me HTTP status code 500, and in the erros i got this:

[Mon Aug 10 18:51:19.571367 2020] [fcgid:warn] [pid 1593] (104)Connection reset by peer: [client 10.200.2.2:43522] mod_fcgid: error reading data from FastCGI server
[Mon Aug 10 18:51:19.571419 2020] [core:error] [pid 1593] [client 10.200.2.2:43522] End of script output before headers: rt-server.fcgi
[1608] [Mon Aug 10 17:51:20 2020] [critical]: Can’t locate Parse/BooleanLogic.pm in @INC (@INC contains: /opt/rt5/sbin/…/local/lib /opt/rt5/local/plugins/RT-IR/lib /opt/rt5/sbin/…/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /opt/rt5/local/plugins/RT-IR/lib/RT/IR.pm line 134.
BEGIN failed–compilation aborted at /opt/rt5/local/plugins/RT-IR/lib/RT/IR.pm line 134.
Compilation failed in require at /opt/rt5/sbin/…/lib/RT.pm line 789. (/opt/rt5/sbin/…/lib/RT.pm:409)
Can’t locate Parse/BooleanLogic.pm in @INC (@INC contains: /opt/rt5/sbin/…/local/lib /opt/rt5/local/plugins/RT-IR/lib /opt/rt5/sbin/…/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /opt/rt5/local/plugins/RT-IR/lib/RT/IR.pm line 134.
BEGIN failed–compilation aborted at /opt/rt5/local/plugins/RT-IR/lib/RT/IR.pm line 134.
Compilation failed in require at /opt/rt5/sbin/…/lib/RT.pm line 789.
[Mon Aug 10 18:51:20.595264 2020] [fcgid:warn] [pid 1594] (104)Connection reset by peer: [client 10.200.2.2:43524] mod_fcgid: error reading data from FastCGI server, referer: http://10.200.60.210:8080/
[Mon Aug 10 18:51:20.595319 2020] [core:error] [pid 1594] [client 10.200.2.2:43524] End of script output before headers: rt-server.fcgi, referer: http://10.200.60.210:8080/

i have Parse::BooleanLogic installed and if i comment Plugin(‘RT::IR’); in RT_SiteConfig.pm it works fine.

#cpan install Parse::BooleanLogic
Reading ‘/root/.cpan/Metadata’
Database was generated on Mon, 10 Aug 2020 13:17:03 GMT
Parse::BooleanLogic is up to date (0.10).

any advice?

Thank you very much.

Could be rights, since it looks like the module might be installled in /root. That or you have multiple Perls installed and used a different one for your RT install. If you look at the top of one of the files in /opt/rt5/sbin/ there should be a shebang line that points to the Perl that RT was compiled with. Does that Perl location match the Perl you used to install the new module?

Thank you for your reply.
Yes, BooleanLogic.pm is on /root/perl5/lib/perl5/Parse. I Installed it using CPAN. I think CPAN is using the same perl as the files you ask me to check (#!/usr/bin/perl). I think CPAN would use that perl, but im not sure. Its there any way to confirm that?

This looks like another instance of the “CPAN installing modules per user rather than system wide” issue. I got bitten by this on CentOS 7 - yum wants to look after everything so they’ve set up CPAN to install for just the user running it, rather than all users. Which means modules “owned” by root won’t be visible in the Perl interpreter running in the web server.

You need to check the config of CPAN so that Perl modules installed via CPAN are put in a directory that every user (including the apache/httpd/www user) can see (probably something like /usr/local/lib64/perl5 looking at the libraries your Perl is checking in the error message you included).

As a hint, on CentOS 7 it tried to use local::lib configured to put things in /root/perl5. Check the /root/bashrc to see if there are environment variables added for PERL_LOCAL_LIB_ROOT, PERL_MB_OPT, PERL_MM_OPT, PERL5LIB and PATH that reference /root/perl5. If so comment them out, log out of the root shell, log back in and try installing the module again.

thank you for your help.

i made a new fresh installation, and now its working. might have done something weird in the first time that i dont know…

Thank you for your help!