安 装Mesa时,最后一个错误报“WARNING: 'aclocal-1.14' is missing on your system.”,虽然是个Warning,但是无法进行下一步make,所以必须解决。根据warning给的提示以及网上搜的信息判断,这是一个时间 戳变化导致的系统以为文件被修改,所以需要重新编译几个脚本文件。实际上我从官网下载来的源文件压缩包我根本没动过,应该是解压过程中系统版本不一样或者 时间差导致的文件时间戳发生了变化而已(能想到这个,因为我从本机往US的服务器传文件时,解压缩时总是会提示文件的时间戳变为什么什么了,也就是常说的 timestamp skew)。这错误比较少见,相关资料实在太少。能Google的都被我Google了,最后还是让我找到了解决方案,记录在这供后来人借鉴以节约时间。

该错误详情:

test@test:/usr/local/src/Mesa_build$
sudo make

CDPATH="${ZSH_VERSION+.}:"
&& cd /install/Mesa-10.3.5 && /bin/bash /install/Mesa-10.3.5/bin/missing aclocal-1.14 -I m4

/install/Mesa-10.3.5/bin/missing:
line 81: aclocal-1.14: command not found

WARNING:
'aclocal-1.14' is missing on your system.

You
should only need it if you modified 'acinclude.m4' or

'configure.ac'
or m4 files included by 'configure.ac'.

The
'aclocal' 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:
*** [/install/Mesa-10.3.5/aclocal.m4] Error 127

很自然的就想到按提示去装那几个autotools,就如这里建议的:http://stackoverflow.com/questions/24233721/build-m4-autoconf-automake-libtool-on-unix

You
do not need to install the autotools. Most
likely, the
problem is caused by a timestamp skew and some files in the pcre
tarball have been unpacked with incorrect timestamps. (This often
happens if you unpack the tarball on a network drive.)Trying
to recreate the configure script using the autotools is not the simplest solution.

解决方法如下:

  1. 用Synaptic
    Package Manager搜索安装这些库(显然有些是重复的,当时不清楚用哪个索性全添加了):

autotools-dev

automake

autoconf2.13

m4

perl

libperl5.14

  1. 执行如下命令:

test@test:/usr/local/src/Mesa-10.3.5$sudo
autoreconf -ivf         就是这一句解决了问题

注意:这条语句是在源文件目录(Mesa-10.3.5)下执行,否则会找不到文件:

  1. autoreconf2.50: `configure.ac' or `configure.in' is required
  1. 然后重新配置,编译。

test@test:/usr/local/src/Mesa-10.3.5$sudo
./configure --disable-dri3

配置完,编译:

test@test:/usr/local/src/Mesa-10.3.5$sudo
make

不再报开始那个错误了!

参考:

正如https://github.com/SIPp/sipp/issues/61帖子里rkday说的,他建议步骤二中尝试以下2种方法:

Could
you try the two troubleshooting suggestions athttps://github.com/SIPp/sipp#building?
That is, do command:

touch
configure.ac aclocal.m4 configure Makefile.am Makefile.in

or

autoreconf
-ivf

There-running
configure and make, one of them should fixes this
problem.

我两种都试了,touch那个不行,the
second one (autoreconf)
works for me, on my Ubuntu 12.04, good luck!

其它信息:

步骤2)和3)中虽然不再报'aclocal-1.14'
is missing on your system错误,但是还会报如下一些错误(这些都很好解决了):

test@test:/usr/local/src/Mesa-10.3.5$sudo
touch configure.ac aclocal.m4 configure Makefile.am Makefile.in

test@test:/usr/local/src/Mesa-10.3.5$sudo
autoreconf -ivf

Can't
exec "libtoolize": No such file or directory at /usr/bin/autoreconf2.50 line 196.

Use
of uninitialized value in pattern match (m//) at /usr/bin/autoreconf2.50 line 196.

autoreconf2.50:
Entering directory `.'

autoreconf2.50:
configure.ac: not using Gettext

autoreconf2.50:
running: aclocal --force -I m4

autoreconf2.50:
configure.ac: tracing

autoreconf2.50:
configure.ac: not using Libtool

autoreconf2.50:
running: /usr/bin/autoconf --force

autoreconf2.50:
configure.ac: not using Autoheader

autoreconf2.50:
running: automake --add-missing --copy --force-missing

src/egl/drivers/dri2/Makefile.am:36:
Libtool library used but `LIBTOOL' is undefined

src/egl/drivers/dri2/Makefile.am:36:
  The usual way to define `LIBTOOL' is to add `LT_INIT'

src/egl/drivers/dri2/Makefile.am:36:
  to `configure.ac' and run `aclocal' and `autoconf' again.

src/egl/drivers/dri2/Makefile.am:36:
  If `LT_INIT' is in `configure.ac', make sure

src/egl/drivers/dri2/Makefile.am:36:
  its definition is in aclocal's search path.

…...

解决方法:用Synaptic
Package Manager搜索安装:libtool和libltdl-dev

test@test:/usr/local/src/Mesa-10.3.5$sudo
autoreconf -ivf

autoreconf2.50:
Entering directory `.'

autoreconf2.50:
configure.ac: not using Gettext

autoreconf2.50:
running: aclocal --force -I m4

autoreconf2.50:
configure.ac: tracing

autoreconf2.50:
running: libtoolize --install --copy --force

libtoolize:
putting auxiliary files in AC_CONFIG_AUX_DIR, `bin'.

libtoolize:
copying file `bin/config.guess'

libtoolize:
copying file `bin/config.sub'

libtoolize:
copying file `bin/install-sh'

libtoolize:
copying file `bin/ltmain.sh'

libtoolize:
putting macros in AC_CONFIG_MACRO_DIR, `m4'.

libtoolize:
copying file `m4/libtool.m4'

libtoolize:
You should add the contents of `m4/libtool.m4' to `aclocal.m4'.

libtoolize:
copying file `m4/ltoptions.m4'

libtoolize:
You should add the contents of `m4/ltoptions.m4' to `aclocal.m4'.

libtoolize:
copying file `m4/ltsugar.m4'

libtoolize:
You should add the contents of `m4/ltsugar.m4' to `aclocal.m4'.

libtoolize:
copying file `m4/ltversion.m4'

libtoolize:
copying file `m4/lt~obsolete.m4'

libtoolize:
You should add the contents of `m4/lt~obsolete.m4' to `aclocal.m4'.

autoreconf2.50:
running: /usr/bin/autoconf --force

autoreconf2.50:
configure.ac: not using Autoheader

autoreconf2.50:
running: automake --add-missing --copy --force-missing

src/mesa/Makefile.sources:7:
BUILDDIR multiply defined in condition TRUE ...

src/mesa/Makefile.am:63:
  `src/mesa/Makefile.sources' included from here

src/mesa/Makefile.am:62:
... `BUILDDIR' previously defined here

autoreconf2.50:
Leaving directory `.'

成功。

test@test:/usr/local/src/Mesa-10.3.5$sudo
./configure --disable-dri3

checking
build system type... x86_64-unknown-linux-gnu

checking
host system type... x86_64-unknown-linux-gnu

checking
target system type... x86_64-unknown-linux-gnu

checking
for a BSD-compatible install... /usr/bin/install -c

checking
whether build environment is sane... yes

checking
for a thread-safe mkdir -p... /usr/local/bin/mkdir -p

checking
for gawk... no

checking
for mawk... mawk

...

顺利完成。

test@test:/usr/local/src/Mesa-10.3.5$
sudo make

...

CC   st_gen_mipmap.lo

CXX   st_glsl_to_tgsi.lo

CC   st_manager.lo

CC   st_mesa_to_tgsi.lo

CC   st_program.lo

CC   st_texture.lo

CC   st_vdpau.lo

CXXLD
 libmesagallium.la

make[4]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa'

Making
all in main/tests

make[4]:
Entering directory `/usr/local/src/Mesa-10.3.5/src/mesa/main/tests'

make[4]:
Nothing to be done for `all'.

make[4]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa/main/tests'

Making
all in drivers/dri

make[4]:
Entering directory `/usr/local/src/Mesa-10.3.5/src/mesa/drivers/dri'

Making
all in common

make[5]:
Entering directory `/usr/local/src/Mesa-10.3.5/src/mesa/drivers/dri/common'

Making
all in xmlpool

make[6]:
Entering directory `/usr/local/src/Mesa-10.3.5/src/mesa/drivers/dri/common/xmlpool'

Updating
(ca) ca/LC_MESSAGES/options.mo from ca.po.

/bin/bash:
line 4: msgfmt: command not found

make[6]:
*** [ca/LC_MESSAGES/options.mo] Error 127

make[6]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa/drivers/dri/common/xmlpool'

make[5]:
*** [all-recursive] Error 1

make[5]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa/drivers/dri/common'

make[4]:
*** [all-recursive] Error 1

make[4]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa/drivers/dri'

make[3]:
*** [all-recursive] Error 1

make[3]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa'

make[2]:
*** [all] Error 2

make[2]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src/mesa'

make[1]:
*** [all-recursive] Error 1

make[1]:
Leaving directory `/usr/local/src/Mesa-10.3.5/src'

make:
*** [all-recursive] Error 1

test@test:/usr/local/src/Mesa-10.3.5$

安装:liblocale-msgfmt-perl库,sudo
make 不行,仍然报同样错误。网上搜了下,参考http://feixiong.blog.51cto.com/4216340/1177343说的,安装gettext库。sudo
make,可以了。详情可以点(这里)。

我autoreconf后sudo
make, 还遇到过下面一个奇怪错误:

  1. checking for make... make
  2. checking for python2... python2
  3. checking for a sed that does not truncate output... /bin/sed
  4. ./configure: line 6427: syntax error near unexpected token `2.2'
  5. ./configure: line 6427: `LT_PREREQ(2.2)'

解决方法:
把源文件目录清空,build目录也清空,重新解压,重新配置编译就行。

总结:

题外话: 我是新手,第一次接触autoconf, automake,觉得以下文字写的好,备案在此供以后深度学习这个工具时参阅:

autoconf is the tool which generates a configure script based upon a configure.ac file.
autoscan can generate a preliminary configure.ac (named configure.scan) but you'll probably need to adjust it by hand anyway.
automake generates Makefile files based upon user-edited Makefile.am
files and is automatically called by autoconf if the configure.ac script
initializes the automake subsystem (using the AM_INIT_AUTOMAKE()
macro). You can't expect those tools (especially autoscan)
to pick up the right configuration for you at the first try, as only
you know (or should know) how the project is laid out.

Are you using a clone from the git repo or the source tar ball? It
looks like you're using the git repo, which doesn't always work unless
you have the same autoconf/automake versions that I'm using. I have
autoconf 2.69 and automake 1.14 . The 'aclocal'
script is part of automake, which is why 'apt' doesn't find it.
Anyways, you can run the 'autogen.sh' script to regenerate the configure
and makefiles using the autoconf/automake that you have installed on
your system and then rerun configure.

https://github.com/tstack/lnav/issues/54

解决Ubuntun 12.04编译Mesa10.3 WARNING: 'aclocal-1.14' is missing on your system的更多相关文章

  1. linux 编译 'aclocal-1.14' is missing on your system

    centos编译出现:类似情况: $tar -xvf libpcap-1.0.0.tar.gz      $cd libpcap-1.0.0.tar.gz      $./configure      ...

  2. 对<< ubuntu 12.04编译安装linux-3.6.10内核笔记>>的修正

    前题: 在前几个月的时候,写了一篇笔记,说的是kernel compile的事情,当时经验不足,虽说编译过了,但有些地方写的有错误--因为当时的理解是有错误的.今天一一更正,记录如下: 前文笔记链接: ...

  3. 如何解决ubuntu 12.04重启后出现waiting for network configuration和网络标志消失问题

    如何解决ubuntu 12.04重启后出现waiting for network configuration和网络标志消失问题 作为菜鸟的我在学着设置网络后,重启电脑后显示 waiting forne ...

  4. WARNING: 'aclocal-1.14' is missing on your system.问题解决记录

    在编译LXC时,遇到一个问题,提示 'aclocal-1.14'缺失.如下:WARNING: 'aclocal-1.14' is missing on your system. You should ...

  5. WARNING: 'aclocal-1.14' is missing on your system.

    源码安装zabbix agent时进行到make install时报如下错误: WARNING: 'aclocal-1.14' is missing on your system. You shoul ...

  6. zabbix安装收获-WARNING: 'aclocal-1.14' is missing on your system

    zabbix server已经安装成功了,在server端也安装了一个agent,一切OK. 在另外一台pg节点上安装zabbix agent时,报错: WARNING: 'aclocal-1.14' ...

  7. Ubuntu 12.04 编译bcm93349dcm软件包

    1.准备工作操作系统:Ubuntu 12.04 获取bcm93349dcm软件包: bootloader源代码:Bootloader_2_2_0.zip CM源代码:ProdD20_BFC4.4.10 ...

  8. ubuntu 12.04 编译安装 nginx

    下载源码包 nginx 地址:http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到缺少pcre等问题,这时候只要到再安装两个包就ok sudo ...

  9. WARNING: 'automake-1.14' is missing on your system.

    检查发现其实已经安装了automake,只不过版本是automake-1.15.1 $ automake --version automake (GNU automake) 1.15.1 解决方法一  ...

随机推荐

  1. 阿里云服务器 端口开放问题 浏览器钟输入ip 访问服务器

    在这里先用一堆粗口强烈吐槽阿里云服务器控制台,屎一样的界面,简直非人类的操作.想找一个功能简直无从下手. 场景: 今天刚在阿里云买了个服务器,打算愉快的用五分钟将数据库,apache,安装完毕,然后去 ...

  2. Eureka 2.0 闭源--选择Consul???

    在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka ...

  3. Linux 后台任务

    1 我想把updatedb命令(用于重新建立整盘索引的命令)放在后台运行. # updatedb & [1] 23336 注释:在所要执行的命令后面加上空格,再加上&符号即可实现后台执 ...

  4. php 循环简写

    <?php class a{ public function news($news){ $articles = array(); foreach ($news as $key => $va ...

  5. Servlet 国际化

    在我们开始之前,先来看看三个重要术语: 国际化(i18n):这意味着一个网站提供了不同版本的翻译成访问者的语言或国籍的内容. 本地化(l10n):这意味着向网站添加资源,以使其适应特定的地理或文化区域 ...

  6. [转]Maven2中snapshot快照库的使用

    Post by 铁木箱子 in Java, 技术杂谈 on 2011-10-28 12:12. [转载声明] 转载时必须标注:本文来源于铁木箱子的博客http://www.mzone.cc[原文地址] ...

  7. iframe详解

    如何查看是否为iframe *使用FireFox组件firebug->firepath 1.Top Window:可直接定位 2.iframe#i:根据id定位 定位方法: switch_to. ...

  8. TP分页

    ①在Home下设置Publics文件夹或在thinkPHP下library的vender 把page.class.php 考贝进入 ②通过new 实例化方式调用 $page=new \Home\Pub ...

  9. 进程通信(socket)

    “一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览 ...

  10. 【BZOJ1863】[Zjoi2006]trouble 皇帝的烦恼 二分+DP

    [BZOJ1863][Zjoi2006]trouble 皇帝的烦恼 Description 经过多年的杀戮,秦皇终于统一了中国.为了抵御外来的侵略,他准备在国土边境安置n名将军.不幸的是这n名将军羽翼 ...