Многоархатная проблема с пакетами, помеченными как поддерживающие & ldquo; all & rdquo; архитектуры

Я добавил постороннюю архитектуру в свою систему amd64, например, arm64. Предположим, я хочу установить libproj9:arm64. Я получаю следующую ошибку:

libproj9:arm64 : Depends: proj-data:arm64 but it is not installable

Теперь, посмотрев на пакет proj-data (здесь ), вы можете видеть, что поддержка архитектуры - all. Таким образом, в теории установка proj-data как apt-get install proj-data должна обеспечивать поддержку всех архитектур, то есть не зависит от архитектуры.

Однако ... менеджер пакетов ищет proj-data:arm64 и, естественно, не может его найти и не работает.

  • Есть ли известный способ преодолеть это? В случае, если это имеет значение, я нахожусь под Xenial (Ubuntu 16.04).
  • Или я должен вручную отредактировать файл .deb , как указано здесь , и попытаться обмануть dpkg?
1
задан 18 January 2018 в 12:51

1 ответ

Так что, как я подозревал, сейчас есть hacky решение, которое мне не нравится, но, по крайней мере, оно позволяет мне продолжать работать. В случае, если кого-то интересует временное решение:

  • Я скачал proj-data: apt-get download proj-data
  • Я использовал fpm, чтобы изменить контрольный файл .deb: fpm -e -s deb -t deb ../proj-data_4.9.2-2_all.deb
  • В контрольном файле я изменяю эту строку: Architecture: all на Architecture: arm64
  • Я установил новый .deb: dpkg -i <deb_file>

И теперь libproj9:arm64 больше не жалуется на обнаружение proj-data:arm64.

0
ответ дан 18 January 2018 в 12:51

Другие вопросы по тегам:

Похожие вопросы: