报错处理:Package libavdevice was not found in the pkg-config search

黄生 发表于 2022/03/24 10:15:16 2022/03/24
【摘要】 在执行这个命令时,!pip install av pims有了题目中的报错:看看是什么系统:是EulerOs v2r7.x86_64看一下pkg-config的手册:它是用来返回 metainfo about installed libraries.在网上也找了下pkg-config的用处:1.检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。2....

在执行这个命令时,
!pip install av pims
有了题目中的报错:
image.png
看看是什么系统:
image.png
是EulerOs v2r7.x86_64
看一下pkg-config的手册:
它是用来返回 metainfo about installed libraries.
image.png

在网上也找了下pkg-config的用处:
1.检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。
2.获得编译预处理参数,如宏定义,头文件的位置。
3.获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数。
4.自动加入所依赖的其它库的设置。

那么这个报错,就是说某个库(libavdevice)没有找到。
这个库,已经还有其他的一起的库,都是ffmpeg里提供的。
我看了一下之前的安装,有点小问题,
image.png

因为在configure阶段,指定的安装目标的目录里包含了~,原意是指用户目录,其实不然,实际上却是这个符号本身的名称建立了一个目录…
所以再重新配置一下
./configure --disable-x86asm --prefix=/home/ma-user/work/ffmpeg

编译安装后,可以看到
ffmpeg/lib/pkgconfig/libavutil.pc
ffmpeg/lib/pkgconfig/libavformat.pc
ffmpeg/lib/pkgconfig/libavfilter.pc
ffmpeg/lib/pkgconfig/libswresample.pc
ffmpeg/lib/pkgconfig/libavcodec.pc
ffmpeg/lib/pkgconfig/libswscale.pc
ffmpeg/lib/pkgconfig/libavdevice.pc

所以,将ffmpeg/lib/pkgconfig的路径加入到PKG_CONFIG_PATH这个环境变量里,然后再pip install就可以了!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。