Это последующий вопрос по Перекрестная компиляция для armhf и установка статической библиотеки
В принятом ответе в конце упоминается,
Уточнение: Необходимо устанавливать пакеты с несколькими архитектурами с одной и той же версией на все архитектуры. Итак, у вас должен быть libudev-dev:armhf версии 229-4ubuntu21.4, но в вашей текущей конфигурации репозитория эта версия не включена. Итак, вы должны добавить строку с ксениально-обновленными датами, где эта версия поддерживается.
Я хочу знать, как именно я могу сделать следующее?
Итак, вы должны добавить строку с ксениально-обновленными датами, где эта версия поддерживается.
Я новичок в этом, так что подробный ответ с примерами будет полезен.
с помощью приведенного ниже списка sources.list я пробовал "политику кэширования apt libudev-dev:{amd64,armhf}". Ошибка "sudo apt install libudev-dev:armhf" приведена ниже.
содержимое файла source.list
deb [arch=amd64] http://archive.ubuntu.com/ubuntu xenial-updates main multiverse restricted universe
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports xenial-updates main multiverse restricted universe
вывод политики кэширования libudev-dev:{amd64,armhf}
root@ajey-HP-Laptop-15t-dy100:/etc/apt# apt-cache policy libudev-dev:{amd64,armhf}
libudev-dev:
Installed: (none)
Candidate: 229-4ubuntu21.29
Version table:
229-4ubuntu21.29 500
500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
libudev-dev:armhf:
Installed: (none)
Candidate: 229-4ubuntu21.29
Version table:
229-4ubuntu21.29 500
500 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main armhf Packages
вывод sudo apt install libudev-dev:armhf
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libudev-dev:armhf : Depends: libacl1:armhf (>= 2.2.51-8) but it is not installable
Depends: libblkid1:armhf (>= 2.19.1) but it is not going to be installed
Depends: libc6:armhf (>= 2.17) but it is not going to be installed
Depends: libgcc1:armhf (>= 1:3.5) but it is not installable
Depends: libkmod2:armhf (>= 5~) but it is not going to be installed
Depends: libselinux1:armhf (>= 2.0.65) but it is not installable
Depends: libudev1:armhf (= 229-4ubuntu21.29) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Попробованное со следующими исходниками в sources.list
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ xenial main multiverse restricted universe
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial main multiverse restricted universe
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ xenial-updates main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu/ xenial-security main multiverse restricted universe
до сих пор получает ошибку, как описано ниже для sudo apt install libudev-dev:armhf
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libudev-dev:armhf : Depends: libacl1:armhf (>= 2.2.51-8) but it is not going to be installed
Depends: libblkid1:armhf (>= 2.19.1) but it is not going to be installed
Depends: libc6:armhf (>= 2.17) but it is not going to be installed
Depends: libgcc1:armhf (>= 1:3.5) but it is not going to be installed
Depends: libkmod2:armhf (>= 5~) but it is not going to be installed
Depends: libselinux1:armhf (>= 2.0.65) but it is not going to be installed
Depends: libudev1:armhf (= 229-4ubuntu21.29) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Попробованное со следующими исходниками. list but no use, problem not solved yet
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial main multiverse restricted universe
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial-security main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ xenial main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ xenial-updates main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ xenial-security main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu/ xenial main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu/ xenial-updates main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu/ xenial-security main multiverse restricted universe
OP в этом вопросе отредактировал его, чтобы включить это:
Политика APT-Cache Libudev-dev: {AMD64, ARMHF}
выводит следующее:Libudev-dev: Установлен: (Нет) Кандидат: 229-4UBUNTU21.4 Таблица версии: 229-4UBUNTU21.4 500. 500 http://chive.ubuntu.com/ubuntu Xenial-Обновления / Главные пакеты AMD64 229-4UBUNTU21.1 500. 500 http://security.ubuntu.com/ubuntu Xenial-Security / Главная AMD64 Пакеты 229-4UBUNTU4 500. 500 http://chive.ubuntu.com/ubuntu Xenial / Main AMD64 пакеты Libudev-dev: Armhf: Установлен: (Нет) Кандидат: 229-4UBUNTU4. Таблица версии: 229-4UBUNTU4 500. 500 http:///ports.ubuntu.com/ubuntu-ports Xenial / Main Armhf Пакеты
Обратите внимание, что версии «кандидата» для обеих архитектур различны, поскольку Xenial-updates
и репозитории Xenial-Security
имеют более новые версии для AMD64
, Но не для ARMHF
.
@ PSIPHI75 говорит, что вы должны установить точную той же версию для обеих архитектур, поэтому в том числе Xenial-updates
приведет к несоответствию (как будет Xenial-Security
. Таким образом, их предложение не включает его в источниках. Лист
(изменение шага 4 в своем ответе), а затем установить Libudev-dev
для обеих архитектур.
Однако , согласно Индекс пакетов , Libudev-dev
Теперь имеет следующую версию для следующих архитектур в Xenial-Updates
:
229-4ubuntu21.29: amd64 arm64 armhf i386 powerpc ppc64el s390x
Итак, поскольку одна и та же версия теперь доступна для обоих AMD64
и ARMHF
в Xenial-updates
, вы можете включить его в источники.
.