On a Fedora 25 system, spack install automake
fails with an error during the build phase. The build log ends with:
<snip>
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating t/wrap/aclocal-1.15
config.status: creating t/wrap/automake-1.15
config.status: linking <$HOME>/spack/var/spack/stage/automake-1.15-bhojsqx6uunp35vog7p2v7nmgcvypb36/automake-1.15/GNUmakefile to GNUmakefile
==> 'make' '-j8'
GEN bin/automake
GEN bin/aclocal
GEN t/ax/cc-no-c-o
GEN doc/aclocal.1
GEN runtest
GEN doc/automake.1
GEN t/ax/shell-no-trail-bslash
GEN lib/Automake/Config.pm
GEN t/ax/test-defs.sh
GEN doc/aclocal-1.15.1
GEN doc/automake-1.15.1
help2man: can't get `--help' info from automake-1.15
Try `--no-discard-stderr' if option outputs to stderr
Makefile:3687: recipe for target 'doc/automake-1.15.1' failed
make: *** [doc/automake-1.15.1] Error 2
make: *** Waiting for unfinished jobs....
Trying older versions...
spack install [email protected]
fails in the same wayspack install [email protected]
installs successfully@fmahebert: can you try adding depends_on('perl', type=('build', 'run'))
to the automake
package? If that works, can you submit a PR for this?
From googling, it looks like this fails when the system perl
does not have the Thread::Core
module. We should probably expose the perl
run dependency anyway.
I ran into this some months ago on a newly configured Centos 7 machine. I fixed it with
yum install perl-Thread-Queue
I ran into this same problem once. Adding a Perl dependency fixed the package for me on Fedora and broke the package for me on CentOS. If I remember correctly, the package creates and runs a Perl script during installation and the shebang is too long. We may need to use some of @hartzell's magic on this one.
@tgamblin, @adamjstewart: adding the perl
dependency to the automake
package fixed the build issue on my Fedora machine. Would you like me to submit the PR, or wait until a CentOS-compatible solution is identified?
@sknigh: Installing perl-Thread-Queue
also worked.
We definitely don't want to break the package on CentOS. Let me test it out and see if I can reproduce the problem.
On a recent develop
on CentOS 7, I can build spack install automake
w/out any problems.
If I add @tgamblin's depends_on('perl', type=('build', 'run'))
to the automake package then I get this failure:
[...]
GEN doc/aclocal-1.15.1
help2man: can't get `--help' info from aclocal-1.15
Try `--no-discard-stderr' if option outputs to stderr
make: *** [doc/aclocal-1.15.1] Error 126
make: *** Waiting for unfinished jobs....
@adamjstewart -- have I reproduced the problem you saw or discovered something new?
Hmm, I just tried this again and I was able to build automake
without any modifications on Fedora 25.
Ok, I can see most of the bits where the long sbang lines would cause that failure.
I'm not sure about my "magic", but I think that I can come up with a blunt object and bang it back into shape.
@adamjstewart: I checked again — I still find I can only build (unmodified) automake
if I've previously installed Fedora's perl-Thread-Queue
package.
We can add a perl-thread-queue
package to Spack. But if we add a Perl dependency to Automake, we'll need @hartzell's magic to avoid some nasty shebang length issues.
I have the same issue on a freshly installed Arch Linux. It would be really nice to have this dependency. Is there a hot fix for the moment?
@erikzenker On Arch it appears to be a different issue. For me I got the same error message and managed to fix it by modifying the source code of automake and escape all curly braces in regex expressions. Here is a patch for the fix.
On Fedora 26, automake
fails to compile even when I manually add a perl
dependency to the package. I have not investigated further, though.
@michaelkuhn Using the dnf
package perl-Thread-Queue
still works (for me) to enable building automake
on Fedora 26.
Ubuntu-17.10 (so yeah, admittedly I'm running not-yet-released software) gives this error too, even after installing perl-Thread-Queue (or on Ubuntu libthread-queue-any-perl
and adding a dependency on perl.
on Fedora 28 workstation, I try to compile libusb, that required exactly automake-1.15. An attempt to install automake 1.15 from gnu ftp source suffer from exactly the same error:"**_help2man: can't get --help' info from automake-1.15"_**. Sknigh, found solution, that dismissed my problem. I installed:
"sudo dnf install perl-Thread-Queue"`, and that was it! thank you, Sknigh! Nice discovery! Perfect solution!
Most helpful comment
I ran into this some months ago on a newly configured Centos 7 machine. I fixed it with
refer to this