Установите crossbuild-essential-armhf на amd64

Прямо сейчас, при работе над моим ноутбуком (amd64), я могу уже скомпилировать код через ssh на beaglebone (armhf). То, что я пытаюсь сделать теперь, является способностью использовать любой IDE для отладки того кода (codeblocks, kdevelop или qtcreator). Так, я думал о выполнении gdbserver на beaglebone и соединения с ним, но он дает мне ошибку неожиданного значения на ответе. Я читал об этом, и кажется, что я должен локально создать armhf исполняемый файл для gdb для обработки. Но я предполагаю, что этому также нужен armhf-ориентированный gdb, созданный для amd64, таким образом, я пытался установить crossbuild-essential-armhf. Для этого я добавил armhf архитектуру с dpkg - добавлять-архитектура armhf, но затем я не могу сделать, Кв. - получает обновление. Я получаю многое из них:

Допустите ошибку http://security.ubuntu.com trusty-security/main armhf Пакеты
404 не найденный [IP: 2001:67c:1562:: 13 80]

Если я проверяю repos, у них действительно нет armhf нигде... Так, что я делаю неправильно? Кроме того, действительно ли это - корректный путь к удаленной отладке с другой архитектурой или является там каким-либо лучшим способом сделать это?Спасибо.

5
задан 15 October 2019 в 21:35

2 ответа

Использование Ubuntu разделяет repos для armh (т.е. http://ports.ubuntu.com/). Чтобы быть в состоянии установить crossbuild-essential-armhf успешно, необходимо выполнить эти шаги:

  1. работает dpkg --add-architecture armhf
  2. , определяют корректную архитектуру для ВСЕХ Ваших способных deb строк в /etc/apt/sources.list и /etc/apt/sources.list.d, например:

    deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu trusty main universe
    deb [arch=armhf] http://ports.ubuntu.com/ trusty main universe
    

    Примечание, что не имеет смысла определять дугу для deb-src строк.

  3. работает apt-get update
  4. , работает apt-get install crossbuild-essential-armhf

, Взглянули на https://wiki.debian.org/Multiarch/HOWTO

, можно также хотеть выполнить эти команды в chroot (или контейнер докера, возможно), как упомянуто этим руководством: http://www.cnx-software.com/2012/05/02/getting-started-with-multiarch-armel-armhf-in-ubuntu/

9
ответ дан 17 November 2019 в 10:58

Существует богатый выбор основанных на докере кросс-компиляторов здесь:

https://github.com/dockcross/dockcross

1
ответ дан 17 November 2019 в 10:58

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

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