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.
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
Oh - sorry .. i overlooked that it is not about Build Requires. I'll look at it and fix ASAP. Thanks for reporting this! Pavel
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
(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!
Based on bug #924938, it seems that this should be assigned to perl package probably .. Pavel
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)
Thanks for your clarification. I have added the perl(threads) requirement. Pavel