一般情況可以正常安裝交叉編譯工具鏈,不過有時會提示錯誤“signature from "David Macek <david.macek.0@gmail.com>" is unknown trust”,這是因為MSYS安裝之後的金鑰環有效期只有150天左右,而工具鏈中的個別元件會檢查金鑰環是否有效。如果金鑰環過了150天之後才安裝工具鏈,MSYS就會報前面的錯,意思是簽名不被信任,這便是金鑰環過期導致的。
執行下面命令檢視金鑰環的有效時間。
從上面命令的執行結果找到“david.macek.0@gmail.com”所在的那幾行資訊,如下所示。
根據上述的金鑰環有效資訊,得知“david.macek.0@gmail.com”對應的金鑰環已於2023-04-22到期,可見確實出現了金鑰環過期的問題。
若想解決金鑰環過期的問題,要麼更新金鑰環,要麼重新安裝MSYS。採取更新金鑰環方式的話,得先到以下網址尋找msys2-keyring的最新檔案。
比如找到msys2-keyring的最新檔案為msys2-keyring-1~20231013-1-any.pkg.tar.zst和msys2-keyring-1~20231013-1-any.pkg.tar.zst.sig,於是執行下面命令將這兩個簽名檔案下載到本地。如果最新檔案的日期發生變化,注意同步修改下面命令中的檔名。
等待兩個檔案下載完畢,接著執行下面命令驗證並配置金鑰環。
上面命令的執行結果最後一行如下所示,可見金鑰環的失效時間已經延長到了2024-04-10。
重新執行下面命令檢視金鑰環的有效時間。
從上面命令的執行結果找到“david.macek.0@gmail.com”所在的那幾行資訊,如下所示。
根據上述的金鑰環有效資訊,得知“david.macek.0@gmail.com”對應的金鑰環將於2024-04-10到期,可見金鑰環的有效期果然往後延長了150天(從當天開始往後150天,不是對上個失效日期簡單相加)。更多詳細的FFmpeg開發知識參見《FFmpeg開發實戰:從零基礎到短影片上線》一書。