pkg: wrong architecture

Автор: | 7 марта 2020

На днях в портах FreeBSD у одного порта, а именно, у ports-mgmt/pkg-devel, прописали "abi":"FreeBSD:12.0:i386" вместо "abi":"FreeBSD:12:i386". Аналогично сделали на архитектуре amd64 и на других ветках, не только 12. При попытке обновить порты выпадает следующая ошибка:

~ ~> pkg update -f
Updating FreeBSD repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01
Fetching packagesite.txz: 100%    6 MiB   1.6MB/s    00:04
Processing entries:  64%
pkg: wrong architecture: FreeBSD:12.0:i386 instead of FreeBSD:12:i386
pkg: repository FreeBSD contains packages with wrong ABI: FreeBSD:12.0:i386
Processing entries: 100%
Unable to update repository FreeBSD
Error updating repositories!

В amd64, соответственно, ошибка:

pkg: wrong architecture: FreeBSD:12.0:amd64 instead of FreeBSD:12:amd64

В качестве workaround, можно прописать в файл /usr/local/etc/pkg.conf:

ABI = "FreeBSD:12:i386";
ALTABI = "FreeBSD:12.0:i386"

Только поправить под свою архитектуру. Проверить используемые ABI можно так:

~> pkg -vv | grep ABI
ABI = "FreeBSD:12:i386";
ALTABI = "FreeBSD:12.0:i386";

А проверить наличие проблемного пакета так:

fetch -qo - https://pkg.freebsd.org/FreeBSD:12:i386/latest/packagesite.txz | tar -xzOf - | grep -a "FreeBSD:12.0"

И, на всякий случай, сделайте пометку в motd, что файл /usr/local/etc/pkg.conf изменен.

Добавить комментарий