Skip to content

automake fails to build on platforms with Perl >= 5.26 #985

@jayhendren

Description

@jayhendren

Description

On Fedora 28, I tried building an Omnibus project which has automake in the dependency tree, but the automake build failed with a Perl error.

Omnibus Version

6.0.1

Platform Version

Platforms that experience this issue:

  • Fedora 28
  • Fedora 27
  • Ubuntu 18.04

Platforms that do not experience this issue:

  • Fedora 26
  • Ubuntu 16.04
  • RHEL/CentOS 7

Replication Case

Build an Omnibus project that has automake in the dep tree on a platform that ships with Perl >= 5.26.0.

Build Output

   [NetFetcher: automake] I | 2018-10-09T20:08:41+00:00 | Cleaning project directory `/var/cache/omnibus/src/automake'
   [NetFetcher: automake] I | 2018-10-09T20:08:41+00:00 | Extracting `/var/cache/omnibus/cache/automake-1.11.2.tar.gz' to `/var/cache/omnibus/src/automake'
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 | Starting build
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 | Environment:
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   CFLAGS="-I/opt/chefdk/embedded/include -O2"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   CPPFLAGS="-I/opt/chefdk/embedded/include -O2"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   CXXFLAGS="-I/opt/chefdk/embedded/include -O2"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   LDFLAGS="-Wl,-rpath,/opt/chefdk/embedded/lib -L/opt/chefdk/embedded/lib"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   LD_RUN_PATH="/opt/chefdk/embedded/lib"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   OMNIBUS_INSTALL_DIR="/opt/chefdk"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   PATH="/opt/chefdk/bin:/opt/chefdk/embedded/bin:/opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/bin:/opt/omnibus-toolchain/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 |   PKG_CONFIG_PATH="/opt/chefdk/embedded/lib/pkgconfig"
      [Builder: automake] I | 2018-10-09T20:08:41+00:00 | $ ./bootstrap
      [Builder: automake] I | 2018-10-09T20:08:42+00:00 | Execute: `./bootstrap': 0.5438s
      [Builder: automake] I | 2018-10-09T20:08:42+00:00 | Build automake: 0.5445s
The following shell command exited with status 255:

    $ CFLAGS=-I/opt/chefdk/embedded/include -O2 CPPFLAGS=-I/opt/chefdk/embedded/include -O2 CXXFLAGS=-I/opt/chefdk/embedded/include -O2 LDFLAGS=-Wl,-rpath,/opt/chefdk/embedded/lib -L/opt/chefdk/embedded/lib LD_RUN_PATH=/opt/chefdk/embedded/lib OMNIBUS_INSTALL_DIR=/opt/chefdk PATH=/opt/chefdk/bin:/opt/chefdk/embedded/bin:/opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/bin:/opt/omnibus-toolchain/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin PKG_CONFIG_PATH=/opt/chefdk/embedded/lib/pkgconfig ./bootstrap

Output:

    (nothing)

Error:

    main::scan_file() called too early to check prototype at ./aclocal.tmp line 622.
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at ./automake.tmp line 4153.


/home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/util.rb:139:in `rescue in shellout!'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/util.rb:134:in `shellout!'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:868:in `shellout!'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:85:in `block in command'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:1058:in `instance_eval'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:1058:in `run'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:886:in `block (3 levels) in execute'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:908:in `with_retries'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:885:in `block (2 levels) in execute'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/instrumentation.rb:23:in `measure'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:884:in `block in execute'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:959:in `with_clean_env'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:883:in `execute'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:775:in `block (2 levels) in build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:774:in `each'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:774:in `block in build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/instrumentation.rb:23:in `measure'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/builder.rb:773:in `build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/software.rb:1202:in `execute_build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/software.rb:1080:in `build_me'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/project.rb:1077:in `block (2 levels) in build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/project.rb:1076:in `each'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/project.rb:1076:in `block in build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/licensing.rb:62:in `block in create_incrementally'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/licensing.rb:57:in `tap'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/licensing.rb:57:in `create_incrementally'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/project.rb:1075:in `build'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/cli.rb:89:in `build'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/cli/base.rb:33:in `dispatch'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/lib/omnibus/cli.rb:42:in `execute!'
  /home/vagrant/.bundle/ruby/2.5.0/omnibus-386cd17f6a63/bin/omnibus:16:in `<top (required)>'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/bin/omnibus:23:in `load'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/bin/omnibus:23:in `<top (required)>'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in `load'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:74:in `kernel_load'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/cli/exec.rb:28:in `run'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:424:in `exec'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:27:in `dispatch'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/cli.rb:18:in `start'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/exe/bundle:30:in `block in <top (required)>'
  /opt/omnibus-toolchain/embedded/lib/ruby/site_ruby/2.5.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
  /opt/omnibus-toolchain/embedded/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/exe/bundle:22:in `<top (required)>'
  /opt/omnibus-toolchain/bin/bundle:23:in `load'
  /opt/omnibus-toolchain/bin/bundle:23:in `<main>'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions