%3A%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D1%8B%20armhf%2C%20%D0%BD%D0%B5%20%D0%BC%D0%BE%D0%B3%D1%83%20%D0%BD%D0%B0%D0%B9%D1%82%D0%B8%20%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D1%8B%20%D0%B8%D0%BB%D0%B8%20%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B8.png)
Я пытаюсь использовать WSL для кросс-компиляции программы на C++ для armhf на ПК с Windows.
Я сохранил, как я смог сделать это на образе Debian несколько лет назад, и теперь мне нужно сделать это снова на новом ПК. Поскольку команда powershell wsl.exe --install
автоматически установила Ubuntu Jammy, я могу сохранить это.
Следующим шагом я хочу добавить архитектуру armhf ( sudo dpkg --add-architecture armhf
), но получаю много ошибок, подобных этим:
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy/main/binary-armhf/Packages 404 Not Found [IP: 185.125.190.39 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/main/binary-armhf/Packages 404 Not Found [IP: 185.125.190.39 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-backports/main/binary-armhf/Packages 404 Not Found [IP: 185.125.190.39 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/main/binary-armhf/Packages 404 Not Found [IP: 91.189.91.82 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
Я просмотрел эти URL-адреса, и binary-armhf
ни в одном из них этот каталог не существует.
Очевидно, тогда я не смогу выполнить apt -install libgtk-3-dev:armhf
пакетов или компилятор arm gcc.
Я не настоящий эксперт в Linux; я понимаю, что мне, возможно, придется добавить репозитории в список, но я не могу найти, где они находятся.
Может ли кто-нибудь подсказать, что мне следует сделать для сборки armhf с использованием образа Ubuntu Jammy, доступного в Магазине Windows для WSL?
решение1
Ваш окончательный sources.list должен выглядеть примерно так:
deb [ arch=amd64,i386 ] http://archive.ubuntu.com/ jammy main restricted universe multiverse
deb [ arch=amd64,i386 ] http://archive.ubuntu.com/ jammy-updates main restricted universe multiverse
deb [ arch=amd64,i386 ] http://archive.ubuntu.com/ jammy-security main restricted universe multiverse
deb [ arch=amd64,i386 ] http://archive.ubuntu.com/ jammy-backports main restricted universe multiverse
deb [ arch=armhf ] http://ports.ubuntu.com/ jammy main restricted universe multiverse
deb [ arch=armhf ] http://ports.ubuntu.com/ jammy-updates main restricted universe multiverse
deb [ arch=armhf ] http://ports.ubuntu.com/ jammy-security main restricted universe multiverse
deb [ arch=armhf ] http://ports.ubuntu.com/ jammy-backports main restricted universe multiverse
(Плюс deb-src
строки, которые я опустил для краткости)
Для ясности я бы предложил поместить репозитории armhf
в отдельный .list
файл /etc/apt/sources.list.d
.