移植strongswan出现missing: line 81: automake-1.14: command not found

最近在嵌入式系统需实现ipsec,采用strongswan,发现移植中出现automake版本不一致

make[3]: Entering directory `xxx/strongswan/strongswan-5.3.2'
cd . && xxx/strongswan/strongswan-5.3.2/missing automake-1.14 --gnu
xxx/strongswan/strongswan-5.3.2/missing: line 81: automake-1.14: command not found

如果直接源文件tar下来,可以直接make通过,比较两者差别,发现代码没有丝毫变化。不得其解。

后来原来是时间发生变化,触发重新automake。

主编译系统automake-1.11,肯定找不到automake-1.14 。

打开生成的makefile:

ACLOCAL = ${SHELL} /xxx/strongswan/strongswan-5.3.2/missing aclocal-1.14
ACLOCAL_AMFLAGS = -I m4/config

提示错误的地方应该在这里:

$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)

如果能把Makefile中的1.14改成1.11,问题肯定解决;

看一下Makefile的生成部分。

476 am--refresh: Makefile
477 @:
478 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
479 @for dep in $?; do \
480 case '$(am__configure_deps)' in \
481 *$$dep*) \
482 echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
483 $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
484 && exit 0; \
485 exit 1;; \
486 esac; \
487 done; \
488 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
489 $(am__cd) $(top_srcdir) && \
490 $(AUTOMAKE) --gnu Makefile
491 .PRECIOUS: Makefile
492 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
493 @case '$?' in \
494 *config.status*) \
495 echo ' $(SHELL) ./config.status'; \
496 $(SHELL) ./config.status;; \
497 *) \
498 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
499 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
500 esac;

Makefile的依赖是Makefile.in和config.status。

strongswan/strongswan-5.3.2$ automake
aclocal.m4:17: warning: this file was generated for autoconf 2.69.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.
configure.ac:23: version mismatch. This is Automake 1.11.3,
configure.ac:23: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:23: comes from Automake 1.11.1. You should recreate
configure.ac:23: aclocal.m4 with aclocal and run automake again.

strongswan/strongswan-5.3.2$ aclocal
发现aclocal.m4发生变化了。

再执行automake,所有的目录下的Makefile.in都发生变化。

 

上一篇:android – 在x86_64 linux机器上编译gentoo-bionic


下一篇:安装automake问题解决