Hi All.
I’ve been getting an Intel / Mac OS install running, and I’m trying to ingest emails to custom fields using ExtractCustomFieldValues. It all seems to be showing up (Plugin is included in /opt/rt5/etc/RT_SiteConfig.pm, and I ran the make initdb, so the “Extract Custom Field Values” Action is showing correctly.
Unfortunately, even though I have the emails coming in and (correctly) creating tickets, the system still isn’t collecting the Custom Fields data and applying that to the CF’s.
Log file shows:
[error]: Scrip Prepare died. - Require of RT::Action::ExtractCustomFieldValues action module failed.
Can’t locate RT/Action/ExtractCustomFieldValues.pm in @INC (you may need to install the RT::Action::ExtractCustomFieldValues module) (@INC entries checked: /opt/rt5/sbin/…/local/lib /opt/rt5/sbin/…/lib
… so my scrip to extract the fields can’t run, because it can’t see the ExtractCustomFields.pm in the @INC - which it obviously needs to run. The problem is, it’s definitely there, and it feels like the user just isn’t able to see the Extensions libraries.
I have the _www user with permission on all the /opt/rt5 folder, and have made sure that was applied to the extensions after installing them, just to be sure
System:
RT 5.0.7
macOS Sequoia 15.3.1
homebrew lighttpd and postgresql and getmail6
a number of libraries had to be installed (often CPAN to get the dependencies)
Getting this far was a journey (I may write up some howto on MacOS that is written post 2020 if I get a moment), but I’m unsure where to look for this one.
Help?
You could double check Admin > Tools > System configuration to confirm the extension is installed from RTs perspective and check " Perl library search order " to confirm the extensions lib/ dir is being loaded
1 Like
Just a thought, but have you tried clearing your Mason cache and restarting the web server? We do that as a matter of course on our production servers when a change has taken place to make sure that the config is re-read and we’re not getting stale code loaded. Mind you that’s with Apache on Linux, rather than lighttpd on MacOS.
The other thing to check is if you installed the module using CPAN, did you do it as root (via sudo for example) so that its is visible to the system version of Perl, if that is what lighttpd is using?
1 Like
OK, so answering @knation :
Perl library search order
/opt/rt5/sbin/…/local/lib
/opt/rt5/sbin/…/lib
/usr/local/opt/perl/lib/perl5/site_perl/5.40/darwin-thread-multi-2level
/usr/local/opt/perl/lib/perl5/site_perl/5.40
/usr/local/opt/perl/lib/perl5/5.40/darwin-thread-multi-2level
/usr/local/opt/perl/lib/perl5/5.40
/usr/local/lib/perl5/site_perl/5.40/darwin-thread-multi-2level
/usr/local/lib/perl5/site_perl/5.40
Doesn’t seem to include the extensions folder - which I believe is causing the problem I’m experiencing. Where am I looking to add that?
note that
RT::LocalPluginPath is correctly set to /opt/rt5/local/plugins, it just doesn’t appear in the Perl library search
as for @GreenJimll - yep, have cleared the mason cache and restarted lighttpd. I did install via CPAN as well as download the tar, make… install, initdb, clear Mason cache and restart web as per the normal docs. That appears to have provided the correct info (can see the action for the “Extract Custom Field Values”, but it’s the script running on transaction/batch that seems to not find the required libraries.
Ah, it seems the Loaded RT Extensions is empty, and I can also see
RT::Extension::ExtractCustomFieldValues (Not currently loaded)
so, a more complete reboot may be on the cards here. Will try that.
So, restarting the service entirely seems to have done the trick. There was a process left hanging - which is why the lighttpd restart wasn’t having the desired effect.
Once the restart took effect, the Extension modules loaded, and the Custom Field processing is working now.
Now to tidy up the field template and load the rest of the data in.