Ubuntu arm架构安装psychopy、ffpyplayer报错error: command ‘usr/bin/gcc‘ failed with exit code 1
通常在安装psychopy、ffpyplayer时,会碰到error: command ‘usr/bin/gcc’ failed with exit code 1的错误。
注:psychopy会依赖ffpyplayer,其安装失败的原因是ffpyplayer导致的。
解决措施:
第一步:在遇到error: command ‘usr/bin/gcc’ failed with exit code 1时,通常往上查看错误信息,可以看到具体的出错。
第二步:若你遇到的具体信息是类似error:libpostproc/postprocess.h :No such file,你可以通过sudo apt install libpostproc-dev 方式进行对应包下载,简单来说就是缺啥补啥。
第三步:缺的包下载后,重新进行psychopy、ffpyplayer安装,若出现
error:struct AVFrame has no member named的错误,”恭喜你中招了“,这是由于ffmpeg版本太高原因导致的。
第三步的问题分析:
通常系统gcc下对应有ffmpeg,但由于Ubuntu20以上版本通常支持gcc7、gcc8、gcc9版本,若要通过安装低版本gcc4来解决ffmpeg版本过高的问题,是不太可行的,gcc4已经基本不维护了,即使解决了ffmepg的问题,有可能也会引发其他问题。
ffmpeg版本太高解决措施:
注:导致psychopy、ffpyplaye失败的是ffmpeg,而不是gcc本身,我们只需要降低ffmpeg版本即可。
操作步骤:
参考链接:opencv 编译安装时出现报错error: AVStream
3.1 卸载安装的ffmpeg
如果用apt-get install ffmpeg安装的,使用以下命令卸载
sudo apt-get --purge remove ffmpeg
sudo apt-get --purge autoremove
如果编译安装过,卸载方式:以ffmpeg-4.1为例,进入ffmpeg安装目录,如下
cd ffmpeg-4.1
make uninstall ##删除由make install命令安装的文件
make clean ##只删除make时产生的临时文件
make distclean ##同时删除configure和make产生的临时文件
4.1 重新编译安装ffmpeg
4.1.1 下载安装包
这里,我把安装包下载在~/Downloads/路径下,并解压
wget http://www.ffmpeg.org/releases/ffmpeg-4.3.tar.gz
tar -zxvf ffmpeg-4.3.tar.gz
4.1.2 安装依赖
sudo apt-get install -y nasm yasm cmake mercurial
sudo apt-get install -y libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
sudo apt-get install -y libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev
sudo apt-get install -y libfreetype6-dev libsdl2-dev libtheora-dev
sudo apt-get install -y autoconf automake build-essential git libass-dev
sudo apt-get install libx264-dev
sudo apt-get install libx265-dev libnuma-dev
sudo apt-get install libvpx-dev
4.1.3 编译安装
1.这里,我们把~/Downloads/中已经解压的ffmpeg-4.3文件夹移入到/opt/路径下
cd ~/Downloads
sudo mv -f ffmpeg-4.3 /opt/
2.然后配置全局环境变量
sudo vim /etc/profile
3.在最后加入
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
4.保存,退出,并输入
source /etc/profile
5.将ffmpeg添加进动态库目录,如下
sudo vim /etc/ld.so.conf.d/ffmpeg.conf
6.添加如下内容
/usr/local/ffmpeg/lib
7.配置生效
ldconfig
8.测试ffmpeg
ffmpeg -version
9.输出如下内容即可

注意:输出上面图片的内容才成功,若已按步骤进行,但无法输出,可能是切换过环境或用户导致的,需要重复进行4.1.3中环境配置过程确保source /etc/profile和ldconfig生效。
注意事项
ffmpeg配置完成后,可再尝试安装psychopy、ffpyplaye。但有可能出现类似缺少包的报错信息:error:libpostproc/postprocess.h :No such file,这里不要再进行包的安装(可能会陷入错误循环),若ffmpeg安装正确,相应的包是都存在的,如图片所示。出现这种情况的原因,往往是安装环境并没有定位到你自己安装的ffmpeg相关的包中,进行以下步骤链接相关包。
export FFMPEG_INCLUDE_DIR=/usr/local/ffmpeg4/include
export FFMPEG_LIB_DIR=/usr/local/ffmpeg4/lib
export LD_LIBRARY_PATH=/usr/local/ffmpeg4/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/ffmpeg4/lib/pkgconfig:$PKG_CONFIG_PATH
🔍 【解释】
FFMPEG_INCLUDE_DIR 使 setup.py 能找到 libavcodec/avcodec.h 等头文件
FFMPEG_LIB_DIR 使链接器找到 libavcodec.so 等库文件
LD_LIBRARY_PATH 运行时链接使用
PKG_CONFIG_PATH 确保 pkg-config 查找时优先使用你的 ffmpeg4
更多推荐



所有评论(0)