Bug 919810 - automake seems to depend on perl-Thread-Queue but perl-Thread-Queue is not required by automake
Summary: automake seems to depend on perl-Thread-Queue but perl-Thread-Queue is not ...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: automake
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pavel Raiskup
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-10 08:46 UTC by Mike FABIAN
Modified: 2013-04-03 07:49 UTC (History)
20 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-04-03 07:49:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Mike FABIAN 2013-03-10 08:46:14 UTC
automake fails on rawhide:

[mfabian@fedora-rawhide-x86_64 ~]$ automake --version
Can't locate Thread/Queue.pm in @INC (@INC contains: /usr/share/automake-1.13 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/bin/automake line 140.
BEGIN failed--compilation aborted at /usr/bin/automake line 143.
[mfabian@fedora-rawhide-x86_64 ~]$ 

After installing the apparently required “perl-Thread-Queue”

[mfabian@fedora-rawhide-x86_64 ~]$ sudo yum install perl-Thread-Queue
...

it works:

[mfabian@fedora-rawhide-x86_64 ~]$ automake --version
automake (GNU automake) 1.13.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey>
       and Alexandre Duret-Lutz <adl>.
[mfabian@fedora-rawhide-x86_64 ~]$

On f18, apparently Thread/Queue.pm  was used as well but it was
already there because it was part of the main Perl package:

mfabian@ari:~
$ cat /etc/fedora-release 
Fedora release 18 (Spherical Cow)
mfabian@ari:~
$ strace -eopen automake --version 2>&1 | grep Queue.pm
open("/usr/share/perl5/Thread/Queue.pm", O_RDONLY) = 4
mfabian@ari:~
$ rpm -qf /usr/share/perl5/Thread/Queue.pm
perl-5.16.2-239.fc18.x86_64
mfabian@ari:~
$ 

It seems to have been split out of the main Perl package in rawhide.

Comment 1 Pavel Raiskup 2013-03-10 10:00:43 UTC
Hi Fabian, thanks for reporting,

I looked at Rawhide - and I think it shouldn't be necessary.  The package
'rpm-build' should be dependent on 'perl(Thread::Queue)' and each build
machine should have rpm-build package installed, if I'm not wrong.  You
are probably building automake on localhost.  Could you confirm that?

Pavel

Comment 2 Pavel Raiskup 2013-03-10 10:04:55 UTC
Oh - sorry .. i overlooked that it is not about Build Requires.  I'll look
at it and fix ASAP.  Thanks for reporting this!

Pavel

Comment 3 Pavel Raiskup 2013-03-10 10:37:55 UTC
Ok, I pushed (probably temporarily) fix for this issue.

I'm not sure whether this should not be fixed in rpmbuild utility, thus
reassigning to rpm component.  The 'perl(Thread::Queue)' is really
new package and it may be possible that it is not yet correctly detected
by 'Auto-Requires'.  But I'm not very familiar with perl yet to recognize
this.

Feel free to close this as WONTFIX if this is not about rpmbuild.

Pavel

Comment 4 Mike FABIAN 2013-03-10 11:18:16 UTC
(In reply to comment #2)
> Oh - sorry .. i overlooked that it is not about Build Requires.  I'll look
> at it and fix ASAP.  Thanks for reporting this!
> 
> Pavel

Yes, it was  not about Build Requires,  I just did "yum install automake"
because I wanted  to manually build something from git and automake
was needed but just installing automake was not enough, I also had to install
perl-Thread-Queue.

Thank you for fixing this so fast!

Comment 5 Pavel Raiskup 2013-04-02 10:03:34 UTC
Based on bug #924938, it seems that this should be assigned to perl package
probably ..

Pavel

Comment 6 Paul Howarth 2013-04-02 10:31:41 UTC
This issue is unrelated to Bug #924938.

The perl dependency generator does not pick up this requirement because Thread::Queue is only required conditionally:

  if ($perl_threads)
    {
      require threads;
      import threads;
      require Thread::Queue;
      import Thread::Queue;
    }

However, since Fedora's perl is built with threads, in practice it's always needed. The correct fix has already been added to the automake package, namely:

Requires: perl(Thread::Queue)

However, the same applies to the "threads" module, which should also be required:

Requires: perl(threads)

Comment 7 Pavel Raiskup 2013-04-03 07:49:30 UTC
Thanks for your clarification.  I have added the perl(threads) requirement.

Pavel


Note You need to log in before you can comment on or make changes to this bug.