通常在安装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/profileldconfig生效。

注意事项
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
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐