Nouvelle installation d'Arduino, j'obtiens ce message lors de la compilation :
fork/exec /home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++: exec format error
Erreur de compilation pour la carte Arduino Nano
Je suis sous Kubuntu 19.04 64bits, Arduino se trouve dans mon répertoire personnel
# existe-t-il? pouvez vous l'executer?
ls -l /home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++
# dit pour quel processeur il a été compilé (signale si c'est un texte, un fichier video; si c'est un executable, dit sur quelle machine.... )
file /home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++
#peut il executer (au moins jusqu'au chargement de librairies) une commande simple
/home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ --version
#peut il executer (au moins jusqu'au chargement de librairies) une commande simple
/home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ --version
bash: /home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ : impossible d'exécuter le fichier binaire : Erreur de format pour exec()
Etes vous sûr que ça a été compilé pour le bon processeur/système?
Mach-O is used by most systems based on the Mach kernel. NeXTSTEP, macOS, and iOS are examples of systems that use this format for native executables, libraries and object code.
est ambigue: pour plus de sûreté, et connaître votre architecture (Ubu linux a-t-il un noyau Mach-O?) , je tenterais:
file `which ls`
Si c'est une autre architecture, peut être avez vous fait une horreur lors du téléchargement
Section "Download the Arduino IDE", "Linux 64bits"
There is currently no working Mach-O loader for Linux.
N'y a-t-il pas moyen de changer de compilateur ?
Si maintenant je dois faire tourner une VM Windaube spécialement pour compiler mes codes je vais devenir fou :o
Je suis rassuré, les binaires pour GNUlinux sont bien des ELF....
(normalement, le script d'installation change des permissions par ci par là, et met à la bonne place; il ne va pas modifier des formats sophistiqués).
Donc, si vous avez des MACH-O, je ne peux que vous conseiller de télécharger les bons binaires, pour linux 64 bits (dans votre cas), sans vous tromper de case....
Ce qui indiquerait que MacOS suit les prescriptions de wikipedia, ce qui est admirable.
A ce stade, sans mouvements de doigts, il vous reste trois possibilités:
a) emuler un MAC
b) acheter un MAC
c) télécharger une version pour GNUlinux.... Elle devrait s'appeler arduino-1.8.10-linux64.tar.xz
Un dernier point peut être intriguant: le script d'installation a pu s'éxécuter (mais normalement, le langage de commande dans lequel est écrit le script est reconnu aussi bien par MacOS que par GNUlinux....)
J'ai complètement viré arduino puis réinstallé via votre méthode. L'IDE s'ouvre parfaitement mais je me retrouve toujours avec la même erreur
fork/exec /home/kubuntu/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++: exec format error
Erreur de compilation pour la carte Arduino Nano
Mon installation d'arduino se situe désormais dans /home/kubuntu/.local/share/umake/ide/arduino
Je suis certain à 100% d'avoir téléchargé la version "Linux 64bits" la première fois, et maintenant par la méthode ubuntu make je n'ai même plus besoin de choisir, mais j'obtiens toujours un MACH-O. Je n'y comprends plus rien
Comment s'appelle le fichier que vous avez chargé?
Je sais que celui qui gère MACOS a un nom qui finit par zip
Si vous l'avez decompressé en ligne de commande, celui pour MACOS génère un repertoire Arduino.app/
Si c'est celui pour Linux64 bits, le repertoire généré (avant installation) s'appelle arduino-1.8.10/
On peut trouver, avant installation, où sont les fichiers interessants par
find Arduino.app/ -name avr-gcc
ou
find arduino-1.8.10/ -name avr-gcc
depuis le repertoire où ils sont décompressés et desarchivés -avant l'installation-
c'est du moins comme ça qu'ils s'appelaient quand je les ai téléchargés et désarchivés (désolé, mais je les ai jetés, n'en ayant pas l'usage)
Je fais très attention, utilisant des ARMs, à ne pas avoir de binaires pour PC (mais ça peut arriver).
Alors, soit :
a) vous faites un gag assez superbe.
b) Arduino, de temps en temps, ferait n'importe quoi et se mélangerait dans la gestion des téléchargements
c) votre mulot a fait une erreur.
Si c'est le cas b) ou c), la seule façon de rattrapper est de retélécharger très soigneusement et de vérifier qu'il s'agit de fichiers pour PC (comme je vous ai donné un modèle, comme vous l'avez vérifié avec ls)
Dans le cas b), j'aurais eu de la chance -qui ne me sert à rien- et pas vous....
b) Arduino, de temps en temps, ferait n'importe quoi et se mélangerait dans la gestion des téléchargements
c) votre mulot a fait une erreur.
Si c'est le cas b) ou c), la seule façon de rattrapper est de retélécharger très soigneusement et de vérifier qu'il s'agit de fichiers pour PC (comme je vous ai donné un modèle, comme vous l'avez vérifié avec ls)
Dans le cas b), j'aurais eu de la chance -qui ne me sert à rien- et pas vous....
Je peux vous assurer que ce n'est pas un gag, qui quand bien même, ne ferais rire personne. J'ai recommencé la procédure de téléchargement et extraction en vidéo, pour la 4e fois je télécharge du Linux 64 et j'obtiens pour la 4e fois du MACH-O : https://webmshare.com/BAA0P
Il y a un problème avec le fichier que tu charges.
Je viens de charger le fichier arduino-1.8.10-linux64.tar.xz fait une extraction dans un répertoire et cliqué sur arduino. Et ça marche du premier coup.
Vide le cache de ton navigateur au cas ou.
Edit: pour confirmer que tu as le bon fichier tu peux faire une vérification du checksum. Ils sont disponibles juste en-dessous des liens de chargement (sha512).
fait un shasum -b -a 512 arduino-1.8.10-linux64.tar.xz
fdufnews:
Il y a un problème avec le fichier que tu charges.
Je viens de charger le fichier arduino-1.8.10-linux64.tar.xz fait une extraction dans un répertoire et cliqué sur arduino. Et ça marche du premier coup.
Vide le cache de ton navigateur au cas ou.
Edit: pour confirmer que tu as le bon fichier tu peux faire une vérification du checksum. Ils sont disponibles juste en-dessous des liens de chargement (sha512).
fait un shasum -b -a 512 arduino-1.8.10-linux64.tar.xz
Je devrais utiliser autre chose que ARK (fourni avec Kubuntu) pour extraire ?
Ce que tu affiches ce n'est pas le checksum sha512.
Il faut cliquer sur le lien juste à droite le checksum sha512 du fichier c'est le suivant
5ba5ada406aac8596d388e95bf5eaebc1b9b6960d1a56829a4e51c801e01ef949ef233f74d07d25be5ab8a4eb5a358beea8246af3e43be8fa458b4d6d229a003 arduino-1.8.10-linux64.tar.xz
Donc à priori le fichier que tu as chargé est intègre. C'est incompréhensible cette histoire.
Sinon, j'ai essayé de tout virer et de faire un sudo apt-get install arduino
A ma grande surprise cela a fonctionné, mais la version est particulière et l'IDE ne tient aucunement compte du répertoire libraries situé dans mon répertoire personnel puis arduino.
Il est très surprenant que l'archive que tu charges soit intègre et qu'elle ne s'exécute pas correctement.
La seule différence entre ce que tu fais et ce que j'ai fait hier soir c'est de lancer l'install.
Mais, de mémoire, ce bash ne fait que créer un item dans le menu des applications.
Avant que dbrion06 ne supprime sa réponse, j'ai réussi à la converser.
J'ai donc, une fois de plus, tout viré (la version dans les paquets tout comme les répertoires qui subsistent après un ./uninstall.sh), et décompressé le fichier nommé arduino-1.8.10-linux64.tar.xz via tar xvf
La compilation semble se passer sans encombre mais impossible de téléverser :
Le croquis utilise 13880 octets (45%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
Les variables globales utilisent 905 octets (44%) de mémoire dynamique, ce qui laisse 1143 octets pour les variables locales. Le maximum est de 2048 octets.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4d
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6f
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x64
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x3a
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x0d
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x0a
Une erreur est survenue lors du transfert du croquis
A savoir que pour les installations précédentes, n'aimant pas du tout l'IDE Arduino, j'utilisais le plugin "Arduino-like IDE" sur Sublime Text permettant de se servir de l'installation d'Arduino mais avec Sublime Text. Je note une extrême lenteur de SublimeText par ailleurs (plusieurs longues secondes pour ouvrir les menus tandis que mon CPU est à 2-3% d'utilisation.