This section gives solutions to common Bugzilla installation problems.
Try executing perl -MCPAN -e 'install CPAN' and then continuing.
Certain older versions of the CPAN toolset were somewhat naive about how to upgrade Perl modules. When a couple of modules got rolled into the core Perl distribution for 5.6.1, CPAN thought that the best way to get those modules up to date was to haul down the Perl distribution itself and build it. Needless to say, this has caused headaches for just about everybody. Upgrading to a newer version of CPAN with the commandline above should fix things.
The following error message may appear due to a bug in DBD::mysql (over which the Bugzilla team have no control):
DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248. SV = NULL(0x0) at 0x20fc444 REFCNT = 1 FLAGS = (PADBUSY,PADMY) |
To fix this, go to <path-to-perl>/lib/DBD/sponge.pm in your Perl installation and replace
my $numFields; if ($attribs->{'NUM_OF_FIELDS'}) { $numFields = $attribs->{'NUM_OF_FIELDS'}; } elsif ($attribs->{'NAME'}) { $numFields = @{$attribs->{NAME}}; |
by
my $numFields; if ($attribs->{'NUM_OF_FIELDS'}) { $numFields = $attribs->{'NUM_OF_FIELDS'}; } elsif ($attribs->{'NAMES'}) { $numFields = @{$attribs->{NAMES}}; |
(note the S added to NAME.)
If you are installing Bugzilla on SuSE Linux, or some other distributions with "paranoid" security options, it is possible that the checksetup.pl script may fail with the error:
cannot chdir(/var/spool/mqueue): Permission denied |
This is because your /var/spool/mqueue directory has a mode of "drwx------". Type chmod 755 /var/spool/mqueue as root to fix this problem.
This is caused by a bug in the version of File::Temp that is distributed with perl 5.6.0. Many minor variations of this error have been reported. Examples can be found in Figure 4-1.
Figure 4-1. Other File::Temp error messages
Your vendor has not defined Fcntl macro O_NOINHERIT, used at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208. Your vendor has not defined Fcntl macro O_EXLOCK, used at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210. Your vendor has not defined Fcntl macro O_TEMPORARY, used at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233. |
Numerous people have reported that upgrading to version 5.6.1 or higher solved the problem for them. A less involved fix is to apply the patch in Figure 4-2. The patch is also available as a patch file.
Figure 4-2. Patch for File::Temp in Perl 5.6.0
--- File/Temp.pm.orig Thu Feb 6 16:26:00 2003 +++ File/Temp.pm Thu Feb 6 16:26:23 2003 @@ -205,6 +205,7 @@ # eg CGI::Carp local $SIG{__DIE__} = sub {}; local $SIG{__WARN__} = sub {}; + local *CORE::GLOBAL::die = sub {}; $bit = &$func(); 1; }; @@ -226,6 +227,7 @@ # eg CGI::Carp local $SIG{__DIE__} = sub {}; local $SIG{__WARN__} = sub {}; + local *CORE::GLOBAL::die = sub {}; $bit = &$func(); 1; }; |