servalproject / openwrt

OpenWRT distribution for Serval Mesh Extenders
https://developer.servalproject.org
GNU General Public License v2.0
8 stars 3 forks source link

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

Open thomotron opened 5 years ago

thomotron commented 5 years ago

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