编译opus lib失败 error AM_PROG_LIBTO
从官网下载了最新的opus 1.3的代码,然后按照readme说明进行编译。
配置的时候出现如下错误:
$ ./autogen.sh
Updating build configuration files, please wait....
configure.ac:38: warning: macro 'AM_PROG_LIBTOOL' not found in library
configure.ac:38: error: possibly undefined macro: AM_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
搜索了一下,缺少libtool,安装解决
$ sudo apt-get install libtool
接着来了第二个错误:
$ ./autogen.sh
Updating build configuration files, please wait....
libtoolize: putting auxiliary files in '.'.
libtoolize: error: linking '/usr/share/libtool/build-aux/ltmain.sh' to './' failed
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: error: linking '/usr/share/aclocal/libtool.m4' to 'm4/' failed
libtoolize: error: linking '/usr/share/aclocal/ltoptions.m4' to 'm4/' failed
libtoolize: error: linking '/usr/share/aclocal/ltsugar.m4' to 'm4/' failed
libtoolize: error: linking '/usr/share/aclocal/ltversion.m4' to 'm4/' failed
libtoolize: error: linking '/usr/share/aclocal/lt~obsolete.m4' to 'm4/' failed
autoreconf: libtoolize failed with exit status: 1
原因是opus编译代码在我的共享文件夹下面,造成了权限问题。对我用的虚拟机VBox。
重新克隆一份opus代码到/usr/home下,再次执行autogen.sh,成功。
there's actually another situation that can cause the libtoolize that was not really addressed here. Permission and access issues. Consider the following situation: you're in virtualbox and trying to run libtoolize out of a VBox Shared folder, you will get this error. Move the project within the machine, error is gone.
ref: https://stackoverflow.com/questions/31939729/regenerate-makefiles-sh-generates-libtoolize-linking-error-when-compiling-irstlm