错误生涯:Package requirements (speex >= 1.2beta3) were not met:

checking for SPEEX... configure: error: Package requirements (speex >= 1.2beta3) were not met:

No package 'speex' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

这些天做的一个开发要用到mediastreamer2这个开发包,configure时就遇到这个错误。上网CHECK了一下,原来mediastreamer2依赖speex这个开源音频压缩包,那解决就不麻烦了,下个下来编译安装就行了。

很奇怪,编译安装后重新对mediastreamer2进行configure,怎么还是爆那个错啊?莫非speex安装没成功,查看了下/usr/local/lib,怪了,已经在了啊。

再次查看下错误,Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.哦,原来问题出在这啊,看来是默认没把/usr/local/lib/pkgconfig加到这个环境变量里了。这样解决起来就不难了,把路径添加进去就行了:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

重新进行编译,错误解决。

PS:由于在编译的时候需要判断系统里是否存在某个库以及是否达到版本要求,这是通过提取*.pc这些文件里的信息来进行判断的,默认会到/usr/lib/pkgconfig这个文件夹进行信息提取。由于上面的speex库是放到/usr/local/lib这个文件夹里,自然它们的pc文件也是放到/usr/local/lib/pkgconfig文件夹里。这样就算安装了也还是会出现找不到某个package的错误,这时候就可以手动把路径加入到PKG_CONFIG_PATH变量里,这样编译时就能到手工指定的路径里进行搜索。

标签: ,
文章分类 Unix/Linux
One comment on “错误生涯:Package requirements (speex >= 1.2beta3) were not met:
  1. spice630说道:

    你确定有PKG_CONFIG_PATH这个环境变量

    [回复]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*