我有 Ubuntu 13.10 32 位系统。最近,当我尝试通过运行进行编译时./autogen.sh
,./configure
我得到
PKG_PROG_PKG_CONFIG: command not found
Run Code Online (Sandbox Code Playgroud)
错误。我已经libtool
安装了。我在usr/share/
like 中有三个 aclocal 文件alocal
,aclocal-1.13
并且aclocal-1.4
我该如何解决这个本地错误?
编辑:
前段时间我从源代码编译了最新版本的 automake 并安装了它,因为源代码需要最新版本的 automake 来运行配置过程。从那时起,每当我在源目录中运行标准./autogen
和/configure
命令来生成时,makefile
我都会得到
PKG_PROG_PKG_CONFIG: command not found
Run Code Online (Sandbox Code Playgroud)
错误
find /usr -name "pkg.m4"
Run Code Online (Sandbox Code Playgroud)
给我
/usr/share/aclocal/pkg.m4
Run Code Online (Sandbox Code Playgroud)
和
aclocal --print-ac-dir
Run Code Online (Sandbox Code Playgroud)
给我
/usr/local/share/aclocal
Run Code Online (Sandbox Code Playgroud)
ste*_*ver 20
该PKG_PROG_PKG_CONFIG
变量指的pkg.m4
是作为 pkg-config 包的一部分提供的宏,因此首先要检查 pkg-config 是否已安装并且宏文件位于默认位置(当然是可读的)
dpkg -l pkg-config
ls -l /usr/share/aclocal/pkg.m4
Run Code Online (Sandbox Code Playgroud)
如果检查出来了,那么问题就变成了为什么aclocal
没有找到它?您可以aclocal
使用--print-ac-dir
开关检查在哪里配置为查找第三方 m4 文件,即
aclocal --print-ac-dir
Run Code Online (Sandbox Code Playgroud)
如果这与上面的位置不同,则表明您的系统上存在非标准版本的 automake - 如果您无法解决该问题,则可能的解决方法是ACLOCAL_PATH
在运行 autogen 之前设置或导出环境变量。 sh 脚本例如
ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh
Run Code Online (Sandbox Code Playgroud)
或者
export ACLOCAL_PATH=/usr/share/aclocal
./autogen.sh
./configure
Run Code Online (Sandbox Code Playgroud)
请参阅GNU automake 手册的宏搜索路径部分。
归档时间: |
|
查看次数: |
26634 次 |
最近记录: |