Skip to content

Build fails with Perl 5.26+ due to old Automake version #22

@thomotron

Description

@thomotron

Description

Trying to build the firmware with a recent version of Perl will fail due to an improperly-formatted Regex string in Automake. This was fixed in Automake 1.15.1.

Steps to reproduce

  1. Clone onto a recent version of Ubuntu (18.04.2 in this case)
  2. Run usual setup process (./scripts/feeds update serval, ./scripts/feeds install -p serval, ./scripts/feeds install -a serval)
  3. Run make world
  4. Build fails when compiling Automake

Output log

tom@ubuntu-vm:~/Repos/serval-openwrt$ make world -j1 V=s
WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!
make[1]: Entering directory '/home/tom/Repos/serval-openwrt'
make[2]: Entering directory '/home/tom/Repos/serval-openwrt'
+ mkdir -p /home/tom/Repos/serval-openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2
+ cd /home/tom/Repos/serval-openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2
+ mkdir -p bin lib include stamp
mkdir -p /home/tom/Repos/serval-openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/stamp
touch /home/tom/Repos/serval-openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/.prepared
+ mkdir -p /home/tom/Repos/serval-openwrt/staging_dir/host
+ cd /home/tom/Repos/serval-openwrt/staging_dir/host
+ mkdir -p bin lib include stamp
mkdir -p /home/tom/Repos/serval-openwrt/build_dir/host/stamp /home/tom/Repos/serval-openwrt/staging_dir/host/include/sys
install -m0644 /home/tom/Repos/serval-openwrt/tools/include/*.h /home/tom/Repos/serval-openwrt/staging_dir/host/include/
install -m0644 /home/tom/Repos/serval-openwrt/tools/include/sys/*.h /home/tom/Repos/serval-openwrt/staging_dir/host/include/sys/
ln -sf lib /home/tom/Repos/serval-openwrt/staging_dir/host/lib64
touch /home/tom/Repos/serval-openwrt/staging_dir/host/.prepared
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/patch'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/patch'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/patch'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/patch'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/sed'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/sed'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/sed'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/sed'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/m4'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/m4'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/m4'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/m4'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/autoconf'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/autoconf'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/autoconf'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/autoconf'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/pkg-config'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/pkg-config'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/pkg-config'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/pkg-config'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/xz'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/xz'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/xz'
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/xz'
make[3]: Entering directory '/home/tom/Repos/serval-openwrt/tools/automake'
(cd /home/tom/Repos/serval-openwrt/build_dir/host/automake-1.15; AUTOM4TE=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/autom4te AUTOCONF=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/autoconf AUTOMAKE=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/automake ACLOCAL=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/aclocal AUTOHEADER=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/autoheader LIBTOOLIZE=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/libtoolize LIBTOOL=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/libtool M4=/home/tom/Repos/serval-openwrt/staging_dir/host/bin/m4 AUTOPOINT=true STAGING_DIR="" ./bootstrap.sh)
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at ./bin/automake.tmp line 3938.
Makefile:50: recipe for target '/home/tom/Repos/serval-openwrt/build_dir/host/automake-1.15/.configured' failed
make[3]: *** [/home/tom/Repos/serval-openwrt/build_dir/host/automake-1.15/.configured] Error 255
make[3]: Leaving directory '/home/tom/Repos/serval-openwrt/tools/automake'
tools/Makefile:122: recipe for target 'tools/automake/compile' failed
make[2]: *** [tools/automake/compile] Error 2
make[2]: Leaving directory '/home/tom/Repos/serval-openwrt'
tools/Makefile:121: recipe for target '/home/tom/Repos/serval-openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyyyyyyyyyyynyyyyynnyyynyyynnnyy' failed
make[1]: *** [/home/tom/Repos/serval-openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyyyyyyyyyyynyyyyynnyyynyyynnnyy] Error 2
make[1]: Leaving directory '/home/tom/Repos/serval-openwrt'
/home/tom/Repos/serval-openwrt/include/toplevel.mk:181: recipe for target 'world' failed
make: *** [world] Error 2

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