在安装njit-client的过程中,使用autoreconf生成配置文件的时候,显示支持的automake版本为1.15.1以上,而自带的只有1.13,yum源中也找不到新版的automake,只有从源码编译安装。

先上基本步骤

rpm -e --nodeps automake
wget http://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz
tar zxvf automake-1.15.1.tar.gz
cd automake-1.15.1
./configure --prefix=/usr
make && make install

问题1 newly created file is older than distributed files!

详细信息

#./configure --prefix=/usr/
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... configure: error: newly created file is older than distributed files!
Check your system clock

使用hwclock和date看一下时间没发现问题,使用ntpdate ntp1.aliyun.com设置了ntp服务器重新配置也没解决。参考这里,用touch *直接刷新一下文件的编辑时间,第一次检查能通过挂在第二次,又对所有源文件执行touch后问题解决,要注意的是每个文件夹都会进行同样的检查。

问题2 make死循环

问题就是执行make之后不停的重复编译,由于在其他电脑编译成功过,确定不是这里提出的依赖关系造成循环。make需要了解计算机时间和它检查的文件的时间。它比较这两个时间,并根据结果确定某个目标是否标记过。还是时间问题,之前使用了两次touch,时间差造成了问题,使用find . | xargs touch刷新目录下所有文件的时间,问题解决。