(2022/03/17 追記)
フォーラムで話題になっており、サポートからも連携されたようなので、そのうち直りそう。 travis-ci.community
問題
php7.4 で TravisCI が突然コケるようになってしまった。
php: error while loading shared libraries: libargon2.so.1: cannot open shared object file: No such file or directory
.travis.yml
では 7.4 を指定していた。
language: php php: - 7.4
最後にうまくいったときのビルドと比べてみると、どうも PHP のパッチバージョンが異なっているようだ。
成功した時は 7.4.22
だったが、 7.4.28
になっている。
デバッグビルドをしてみると、 phpenv が 7.4.28 をインストールしていることが分かる。
ログをよく見ると、そもそも php がうまくインストール出来ていないようだ。
$ phpenv versions system 5.6 5.6.40 7.1 7.1.27 7.2 7.2.15 * 7.4 (set by /home/travis/.phpenv/version) 7.4.28 hhvm-stable hhvm
$ phpenv global 7.4.28 2>/dev/null 7.4.28 is not pre-installed; installing Downloading archive: https://storage.googleapis.com/travis-ci-language-archives/php/binaries/ubuntu/16.04/x86_64/php-7.4.28.tar.bz2 9.39s$ curl -sSf --retry 5 -o archive.tar.bz2 $archive_url && tar xjf archive.tar.bz2 --directory / 0.01s0.02s$ phpenv global 7.4.28 php: error while loading shared libraries: libargon2.so.1: cannot open shared object file: No such file or directory
検証
Travis はパッチバージョンも指定できるので実際に試してみると、7.4.27 以降は同様のエラーが発生してしまうようだ。
version | result |
---|---|
7.4.22 | 成功 |
7.4.26 | そもそも Travis で指定不可なので、エラー(404) |
7.4.27 | エラー |
7.4.28 | エラー |
language: php php: - 7.4.22 - 7.4.26 - 7.4.27 - 7.4.28 script: - php -v
検証結果は↓
https://app.travis-ci.com/github/su-kun1899/sandbox-travisci/builds/247900433
対応
とりあえず、 7.4.22 のバージョンをベタ指定することで暫定回避できる。
根本原因がどこにあるか分からないけど、 PHP8 にするなり GitHub Actions にお引越しするなりした方がよさそう。。