Problem
RT reports error
no connection to syslog available at /opt/machine/perl/lib/site_perl/5.8.2/Log/Dispatch/Syslog.pm line 77
This happens on Solaris, some FreeBSDs and UnixWare 7.
/Older versions of Perl, may segfault at the "Creating system user..." stage of initialize-database instead of reporting the above error./
Solution
In RT 3.0.11, workaround has been added to SiteConfig. It is recommended to edit the config file, rather than changing the RT.pm script. The following text is a description from the config file:
# On Solaris, set to ( socket => 'inet' ). Options here override any # other options RT passes to Log::Dispatch::Syslog. Other interesting # flags include facility and logopt. (See the Log::Dispatch::Syslog # documentation for more information.) (Maybe ident too, if you have # multiple RT installations.)
To solve a problem add next line to the SiteConfig:
@LogToSyslogConf = ( socket => 'inet' );
Another solution for Solaris is using 'stream' socket
@LogToSyslogConf = ( socket => 'stream' );
You can found more info about possible socket values on the documentation page of the module Sys::Syslog.
Solution for RT < 3.0.11
You need to slightly alter how RT tries to connect to syslog.
edit <rt-path>/lib/RT.pm
Find the second instance of stderr => 1
and insert above this:
socket => 'inet',