Perl DateTime::TimeZone not found (Bugzilla install)
Asked Answered
F

4

8

I am trying to install Bugzilla on my Centos server. but I got this error:

Checking for   DateTime-TimeZone (v0.71)    not found 

and

    COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands
    and then re-run this script):
    /usr/bin/perl install-module.pl DateTime::TimeZone

If I run: /usr/bin/perl install-module.pl DateTime::TimeZone

then I get this:

    CPAN: Storable loaded ok (v2.15)Reading '/root/.cpan/Metadata'
    Database was generated on Sun, 09 Oct 2011 17:27:24 GMT
    Installing DateTime::TimeZone version 1.39...
    CPAN: Module::CoreList loaded ok (v2.56)
    DateTime::TimeZone is up to date (1.39).

How can I fix this?

Fleer answered 9/10, 2011 at 22:10 Comment(3)
IMHO, this is error in Bugzilla, in version comparison. Report it to Bugzilla's own bug tracker.Shinleaf
I agree w/ Alexandr. Bugzilla is looking for version 0.71, but you have version 1.39 installed (which is quite a big leap in versioning). I was trying to figure out how this checking is done. It could be looking for a version equal to or greater, an exact match, or maybe something with a similar major version. I tried going through the logic, but didn't want to spend that long on tis issue. If you're not stuck on Bugzilla, you might want to try MantisBT. Mantis was specifically designed to replace Bugzilla with an easier to configure system.Tea
Maybe the first message came from a perl other than /usr/bin/perl? Do you have more than one build of Perl installed? Try running perl install-module.pl DateTime::TimeZone (no leading /usr/bin).Dy
I
9

I was having the same problem when upgrading. The DateTime::TimeZone module appeared to be installed but the Bugzilla checksetup.pl script always reported that it was not found. The following fixed the problem for me (run from the Bugzilla install dir):

$ perl install-module.pl Params::Util
$ perl install-module.pl Module::Runtime

I found this by writing a two line perl script to simulate the check done by Bugzilla:

use lib qw(. lib);
use DateTime::TimeZone;

and then running it to see the errors:

perl /tmp/foo.pl

After installing the above modules the foo.pl script passes and so does Bugzilla checksetup.pl.

Intensify answered 18/10, 2011 at 21:35 Comment(2)
The second command, perl install-module.pl Module::Runtime, did it for me. This is for Bugzilla 4.2.3! It was NOT mentioned as optional / required anyhow, I think, but it bypasses the DateTime zone requirement even though I already had that module installed.Carpic
For me, the missing module had to do with YAML. Running the perl install-module.pl script was definitely the way to go (as opposed to running yum install or cpan directly).Victim
M
2

I have the same problem and the solution given in this link

Something like /usr/bin/perl install-module.pl Module::Build may be enough, although I would have thought that Module::Bundle is standard perl

Marybethmaryellen answered 25/2, 2012 at 15:12 Comment(0)
B
1

I'd guess you have installed DateTime-TimeZone under your user account which is not accessible to the web server or the 'root' account. Try simply installing via your package manager:

yum install 'perl(DateTime::TimeZone)'
Bilberry answered 10/10, 2011 at 15:23 Comment(0)
H
0

I was experiencing this problem too. I'm not sure why it's not finding TimeZone.

I've dug briefly into the code and tried changing the version numbers of TimeZone to make it work, but it always says "not found".

Eventually, I just commented out the lines where it was trying to do the check. It then allowed me to install. (Add hashes to the beginning of each line)

#    {
#        package => 'DateTime-TimeZone',
#        module  => 'DateTime::TimeZone',
#        version => ON_WINDOWS ? '0.79' : '0.71'
#    },

This does seem like a bug in Bugzilla. I suggest reporting it.

Higgins answered 24/11, 2011 at 18:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.