现象:下载的开源的ptpd2.3.1的源代码 ,在本地服务器可以好好地编译通过,但是上传到svn的库上之后,再次check下来就编译不过,同样的配置和编译链,就是无法编译过?
定位思路如下:
上传和下载之前毫无差异,无法定位到具体是哪个目录的问题,在偶然的复制时候发现,复制的操作不一样会有不一样的结果,最后定位到文件的时间问题,但是svn的文件修改时间是系统的时候,所以最后修改为check下来之后修改一下文件的修改时间,命令如下:
touch -t "201507290101" //年月日时分
编译错误如下:
make[1]: Entering directory `/home/liq/test/kylin430_soft/SM2000_MC_INP/work/builds/ptpd-2.3.1'
cd . && /bin/sh /home/liq/test/kylin430_soft/SM2000_MC_INP/work/builds/ptpd-2.3.1/build-aux/missing automake-1.14 --foreign
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:18: error: Autoconf version 2.65 or higher is required
aclocal.m4:438: AM_INIT_AUTOMAKE is expanded from...
configure.ac:18: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
automake-1.14: autoconf failed with exit status: 63
WARNING: 'automake-1.14' is probably too old.
You should only need it if you modified 'Makefile.am' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'automake' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
make[1]: *** [Makefile.in] Error 1
make[1]: Leaving directory `/home/liq/test/kylin430_soft/SM2000_MC_INP/work/builds/ptpd-2.3.1'
make: *** [2] Error 2