Closed Bug 557769 Opened 14 years ago Closed 14 years ago

install-module.pl sometimes fails to install DateTime::Locale and other modules

Categories

(Bugzilla :: Installation & Upgrading, defect, P1)

defect

Tracking

()

RESOLVED DUPLICATE of bug 560330

People

(Reporter: sbodomerle, Assigned: mkanat)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100404 Iceweasel/3.5.9 (like Firefox/3.5.9)
Build Identifier: latest bzr trunk (revno: 7117)

Using DateTime::Locale is not installed by install-module.pl --all. 
Neither when the required components listed by cheksetup.pl are installed with install-module.pl.

One has to perform manually ./install-module.pl DateTime::Locale in order for the bugzilla to work.

Reproducible: Always

Steps to Reproduce:
1. Install RHEL 5.2
2. Grab bugzilla
3. Run install-module.pl --all
Actual Results:  
lib/DateTime/Locale.pm is missing and Bugzilla throws:

Software error:

Can't locate DateTime/Locale.pm in @INC (@INC contains: . lib/x86_64-linux-thread-multi lib /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.7/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.6/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8) at lib/DateTime.pm line 41.

BEGIN failed--compilation aborted at lib/DateTime.pm line 41.
Compilation failed in require at Bugzilla/Util.pm line 53.
BEGIN failed--compilation aborted at Bugzilla/Util.pm line 53.
Compilation failed in require at Bugzilla/Error.pm line 33.

BEGIN failed--compilation aborted at Bugzilla/Error.pm line 33.
Compilation failed in require at Bugzilla/Install/Filesystem.pm line 31.
BEGIN failed--compilation aborted at Bugzilla/Install/Filesystem.pm line 31.

Compilation failed in require at Bugzilla/Config.pm line 38.
BEGIN failed--compilation aborted at Bugzilla/Config.pm line 38.
Compilation failed in require at Bugzilla.pm line 38.
BEGIN failed--compilation aborted at Bugzilla.pm line 38.



Expected Results:  
install-module.pl --all should install DateTime::Locale out of box as it seem to be a required package.
I have an issue with DateTime.pm as well. Maybe it is something x64-related?

OS SLES11, Bugzilla 3.4.6 was already running 

1. I checked out latest Bugzilla using bazaar
2. I run checksetup in the bazaar folder. It reported to install
    /usr/bin/perl install-module.pl Email::Send
    /usr/bin/perl install-module.pl Email::MIME
    /usr/bin/perl install-module.pl Email::MIME::Encodings
    /usr/bin/perl install-module.pl Email::MIME::Modifier

3. I added the following missing modules
    /usr/bin/perl install-module.pl Email::Send
    /usr/bin/perl install-module.pl Email::MIME
    Encodings and Modifier are already up-to-date

4. I run checksetup again and it now fails
5. Running /usr/bin/perl install-module.pl --all didn't help


Checksetup.pl now fails with:

[...]
COMMANDS TO INSTALL OPTIONAL MODULES:
[...]

To attempt an automatic install of every required and optional module
with one command, do:

  /usr/bin/perl install-module.pl --all

Attempt to reload DateTime.pm aborted.
Compilation failed in require at Bugzilla/Util.pm line 53, <DATA> line 275.
BEGIN failed--compilation aborted at Bugzilla/Util.pm line 53, <DATA> line 275.
Compilation failed in require at Bugzilla/Error.pm line 33, <DATA> line 275.
BEGIN failed--compilation aborted at Bugzilla/Error.pm line 33, <DATA> line 275.
Compilation failed in require at Bugzilla/Install/Filesystem.pm line 31, <DATA> line 275.
BEGIN failed--compilation aborted at Bugzilla/Install/Filesystem.pm line 31, <DATA> line 275.
Compilation failed in require at Bugzilla/Config.pm line 38, <DATA> line 275.
BEGIN failed--compilation aborted at Bugzilla/Config.pm line 38, <DATA> line 275.
Compilation failed in require at Bugzilla.pm line 38, <DATA> line 275.
BEGIN failed--compilation aborted at Bugzilla.pm line 38, <DATA> line 275.
Compilation failed in require at ./checksetup.pl line 104, <DATA> line 275.




During checksetup the following messages are shown:

[...]
Checking for           SOAP-Lite (v0.710.06) ok: found v0.711
Checking for            JSON-RPC (any)     ok: found v0.96
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Use of uninitialized value in open at lib/x86_64-linux-thread-multi/Test/Taint.pm line 334, <DATA> line 275.
Checking for          Test-Taint (any)     ok: found v1.04
Checking for         HTML-Parser (v3.40)   ok: found v3.56
[...]
Solution in my case:

/usr/bin/perl install-module.pl List::MoreUtils


See also http://ubuntuforums.org/archive/index.php/t-1279901.html
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: blocking3.6+
OS: Linux → All
Priority: -- → P1
Hardware: x86 → All
Summary: install-module.pl fails to install DateTime::Locale on RHEL5.2 → install-module.pl sometimes fails to install DateTime::Locale and other modules
Target Milestone: --- → Bugzilla 3.6
Instead of just blindly adding all of these as requirements to Bugzilla, I need to figure out what is going on.

Christoph and original reporter: How did you install DateTime? Did you install it via yum? Did you install it via a manual CPAN command? Or did you install it using install-module.pl?
Flags: blocking3.6+ → blocking3.6.1+
I used /usr/bin/perl install-module.pl <Required Module> to install all the required modules by Bugzilla, plus a few optional ones - also via install-module.pl. Only basic perl was installed from the install DVD, and i dont used yum to grab any of the perl packages.
I run into this on each upgrade of Bugzilla on my CentOS 5.4 system; I have to manually run:

/usr/bin/perl install-module.pl List::MoreUtils
/usr/bin/perl install-module.pl DateTime::Locale 

to get it to work. Otherwise I get this error:

Can't locate DateTime/Locale.pm in @INC (@INC contains: . lib/x86_64-linux-thread-multi lib /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8) at lib/DateTime.pm line 41.
BEGIN failed--compilation aborted at lib/DateTime.pm line 41.
Compilation failed in require at Bugzilla/Util.pm line 53.
BEGIN failed--compilation aborted at Bugzilla/Util.pm line 53.
Compilation failed in require at Bugzilla/Error.pm line 33.
BEGIN failed--compilation aborted at Bugzilla/Error.pm line 33.
Compilation failed in require at Bugzilla/Install/Filesystem.pm line 31.
BEGIN failed--compilation aborted at Bugzilla/Install/Filesystem.pm line 31.
Compilation failed in require at Bugzilla/Config.pm line 38.
BEGIN failed--compilation aborted at Bugzilla/Config.pm line 38.
Compilation failed in require at Bugzilla.pm line 38.
BEGIN failed--compilation aborted at Bugzilla.pm line 38.
Compilation failed in require at /usr/share/bugzilla/index.cgi line 34.
BEGIN failed--compilation aborted at /usr/share/bugzilla/index.cgi line 34.

yum seems to think that perl-DateTime is not installed:

==============================================================================================
 Package                        Arch             Version                 Repository      Size
==============================================================================================
Installing:
 perl-DateTime                  x86_64           1:0.41-1.el5            epel           598 k
Installing for dependencies:
 perl-Class-Singleton           noarch           1.03-3.el5              epel            17 k
 perl-Params-Validate           x86_64           0.88-3.el5              epel            71 k

Transaction Summary
==============================================================================================
Install      3 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 686 k

Should it be?
As a note, this is after running ./checksetup.pl and running

/usr/bin/perl install-module.pl --all

So if DateTime was required and missing, it should either complain or install it, correct?
Attached patch v1Splinter Review
Okay, I have no idea why this is happening, but it clearly *is* happening, to a *lot* of people. (We have several reports on the support list and several bugs filed already.)

I've added the three modules that I hear about problems with to the Requirements list. That way they will get installed properly even if there was a package-manager problem with DateTime's dependencies or something like that. (So DateTime is properly installed but its dependencies are not, which is the problem we're seeing here.)
Assignee: installation → mkanat
Status: NEW → ASSIGNED
Attachment #439471 - Flags: review?(LpSolit)
I tested your patch on 3.6 (Bazaar checkout) and everything is fine now. No additional installations required anymore.

(OS: SLES 11)
Okay, so the root cause of this bug may in fact be bug 560330, although I don't know why only *certain* dependencies would be missing. Perhaps it's because DateTime::TimeZone doesn't have the bug, and so all of *its* deps get installed right, but DateTime's other deps don't get installed right.
Depends on: 560330
Comment on attachment 439471 [details] [diff] [review]
v1

I'm going to cancel review on this patch until we see if fixing the other issue also fixes reports of this.
Attachment #439471 - Flags: review?(LpSolit)
Okay, for now I'm going to say that this is a duplicate of bug 560330. If this keeps happening with 3.6.1, then we should reopen this bug.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
No longer depends on: 560330
Resolution: --- → DUPLICATE
Target Milestone: Bugzilla 3.6 → ---
bugzilla-3.6: confirmed the message "Cannot determine local time zone" while opening the new bug
In my evironment ubuntu 9.10, there are 2 additional perl modules are needed too besides DateTime, DateTime::Locale, DateTime::TimeZone, List::MoreUtils. This applys to both Bugzilla 3.6.3 and Bugzilla 4.0rc1.

See bellow:
$ perl ./install-module.pl Class::Load
$ perl ./install-module.pl parent

Testing:
perl -I. -Ilib -e 'use DateTime';

Hope that could helps others met same similar issues :)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: