web-dev-qa-db-fra.com

Installer crossbuildbuild-essential-armhf sur AMD64

Pour le moment, tout en travaillant sur mon ordinateur portable (AMD64), je peux déjà compiler du code via ssh sur un Beaglebone (armhf). Ce que j'essaie de faire maintenant, c'est de pouvoir utiliser n'importe quel IDE pour déboguer ce code (codeblocks, kdevelop ou qtcreator). Donc, j'ai pensé à exécuter un gdbserver sur le beaglebone et à me connecter à celui-ci, mais cela me donne une erreur de valeur inattendue en réponse. J'ai lu des articles à ce sujet et il me semble que j'ai besoin de créer localement un exécutable armhf pour que gdb puisse le traiter. Mais je suppose qu’il a également besoin d’un gdb orienté armhf conçu pour AMD64, j’ai donc essayé d’installer crossbuildbuild-essential-armhf. Pour cela, j’ai ajouté l’architecture armhf avec dpkg --add-architecture armhf, mais j’ai été incapable de faire une mise à jour d’apt-get. J'en ai beaucoup:

Err http://security.ubuntu.com Paquets trusty-security/main armhf
404 Not Found [IP: 2001: 67c: 1562 :: 13 80]

Si je vérifie les pensions, elles n’ont en effet pas d’armhf n’importe où ... Alors, que fais-je de travers? Aussi, est-ce la bonne façon de déboguer à distance avec une architecture différente, ou y a-t-il une meilleure façon de le faire? Je vous remercie.

5
Joao Pincho

Ubuntu utilise des dépôts séparés pour armh (c'est-à-dire http://ports.ubuntu.com/). Pour pouvoir installer crossbuild-essential-armhf avec succès, vous devez suivre ces étapes:

  1. lancer dpkg --add-architecture armhf
  2. spécifiez l'architecture correcte pour TOUTES vos lignes de début apt dans /etc/apt/sources.list et /etc/apt/sources.list.d, par exemple:

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

    Notez que cela n’a aucun sens de spécifier l’Arch pour les lignes deb-src.

  3. lancer apt-get update
  4. lancer apt-get install crossbuild-essential-armhf

Regardez https://wiki.debian.org/Multiarch/HOWTO

Vous pouvez également vouloir exécuter ces commandes dans un chroot (ou dans un conteneur de menu fixe) comme indiqué dans ce guide: http://www.cnx-software.com/2012/05/02/getting-started-with -multiarch-armel-armhf-in-ubuntu /

8
tyrion

Il existe un large choix de compilateurs croisés basés sur Docker ici:

https://github.com/dockcross/dockcross

1
Henri Gomez