《FFmpeg开发实战:从零基础到短视频上线》一书提到:使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是实行下面命令。- pacman -S mingw-w64-x86_64-toolchain
复制代码 一样平常情况可以正常安装交叉编译工具链,不过有时会提示错误“signature from "David Macek " is unknown trust”,这是因为MSYS安装之后的密钥环有效期只有150天左右,而工具链中的个别组件会检查密钥环是否有效。假如密钥环过了150天之后才安装工具链,MSYS就会报前面的错,意思是签名不被信任,这便是密钥环过期导致的。
实行下面命令查看密钥环的有效时间。从上面命令的实行结果找到“david.macek.0@gmail.com”所在的那几行信息,如下所示。- pub rsa4096 2018-01-14 [SC] [过期于:2023-04-22]
- 87771331B3F1FF5263856A6D974C8BE49078F532
- uid [ 过期 ] David Macek <david.macek.0@gmail.com>
- sig 790AE56A1D3CFDDC 2020-06-19 David Macek (MSYS2 master key) <david.macek.0@gmail.com>
- sig 5F92EFC1A47D45A1 2020-06-23 Alexey Pavlov (Alexpux) <alexpux@gmail.com>
- sig F40D263ECA25678A 2020-06-25 Alexey Pavlov (Alexpux) <alexey.pawlow@gmail.com>
- sig 755B8182ACD22879 2020-06-25 Christoph Reiter (MSYS2 master key) <reiter.christoph@gmail.com>
- sig 3 974C8BE49078F532 2022-10-24 David Macek <david.macek.0@gmail.com>
复制代码 根据上述的密钥环有效信息,得知“david.macek.0@gmail.com”对应的密钥环已于2023-04-22到期,可见确实出现了密钥环过期的问题。
若想解决密钥环过期的问题,要么更新密钥环,要么重新安装MSYS。采取更新密钥环方式的话,得先到以下网址寻找msys2-keyring的最新文件。- https://repo.msys2.org/msys/x86_64/
复制代码 好比找到msys2-keyring的最新文件为msys2-keyring-1~20231013-1-any.pkg.tar.zst和msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig,于是实行下面命令将这两个签名文件下载到当地。假如最新文件的日期发生变化,注意同步修改下面命令中的文件名。- curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20231013-1-any.pkg.tar.zst
- curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig
复制代码 等候两个文件下载完毕,接着实行下面命令验证并配置密钥环。
[code]pacman-key --verify msys2-keyring-1~20231013-1-any.pkg.tar.zst{.sig,}pacman -U --config |