Spack: Error building automake

Created on 6 Apr 2017  Â·  18Comments  Â·  Source: spack/spack

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....

build-error

Most helpful comment

I ran into this some months ago on a newly configured Centos 7 machine. I fixed it with

yum install perl-Thread-Queue

refer to this

All 18 comments

Trying older versions...

@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

refer to this

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!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ax3l picture ax3l  Â·  3Comments

JavierCVilla picture JavierCVilla  Â·  3Comments

Joseguz101 picture Joseguz101  Â·  3Comments

eschnett picture eschnett  Â·  3Comments

cwsmith picture cwsmith  Â·  3Comments