Go Down

Topic: Arduino 1.7.11 sous Mac OS X Snow Leopard (Read 8141 times) previous topic - next topic

_pepe_

Dec 31, 2016, 03:39 pm Last Edit: Oct 29, 2017, 10:44 am by _pepe_
Bonjour à tous.

Ce petit tutoriel s'adresse spécifiquement aux utilisateurs d'anciens Macs tournant sous Mac OS X Snow Leopard (10.6.8 ) désireux d'installer la dernière mouture du logiciel Arduino encore supportée par cette configuration, à savoir la version 1.7.11 produite par arduino.org.

En effet, à l'heure où j'écris ces lignes, le logiciel Arduino version 1.8.0 est déjà disponible, mais il réclame au minimum Mac OS X Lion (10.7) et Java 8 pour pouvoir fonctionner. Officiellement, la version 1.7.11 réclame au minimum Mac OS X Lion (10.7) et Java 7, mais il est apparu qu'on pouvait encore exécuter le logiciel sous Snow Leopard (10.6.8 ) et Java 6 après l'avoir re-compilé à partir des sources sous cet environnement.

Certains pourraient trouver bizarre qu'on continue d'utiliser un Mac sous Snow Leopard aujourd'hui, surtout que ce système présente des signes flagrants d'obsolescence, comme celui de ne pas supporter les devices USB combinés (ce qui l'empêche notamment de communiquer avec le port USB "natif" des cartes Arduino Zero/M0 Pro) ou de ne pas proposer les correctifs de sécurité les plus récents. Mais cette version de Mac OS X est la dernière pouvant faire tourner les anciennes applications développées pour les processeurs PowerPC (grâce à la technologie Rosetta), ou à être encore compatible avec les modèles de Mac lancés en 2006. De plus, elle s'avère particulièrement stable. Par ailleurs, comme les vieux Macs ont la peau dure, ils fonctionnent encore très bien pour la plupart et se retrouvent nombreux sur le marché de l'occasion, mais l'évolution de la mode technologique les a poussés vers des tâches de bureautique ou de production plus classiques, comme notamment le développement sous Arduino.


Venons-en à l'installation. On supposera que la configuration logicielle du Mac est complète et a été normalement mise à jour en temps voulu (dans le cas contraire, en cas de besoin on arrive encore à trouver les éléments nécessaires sur le site de téléchargement du support d'Apple).

1) Il faut tout d'abord télécharger les sources d'Arduino 1.7.11 depuis GitHub :
https://github.com/arduino-org/Arduino/archive/1.7.11.zip

[EDIT:] Il faut également télécharger l'archive libastylej-2.05.zip (fournie avec ce sujet depuis sa disparition du site arduino.org).

Si l'on compte procéder à l'installation sur un Mac qui n'est pas connecté à Internet, il est également nécessaire de télécharger à l'avance les fichiers d'archive suivants :
http://download.arduino.org/tools/avr-toolchain-mac32-3.4.5-1.zip
http://download.arduino.org/tools/reference-1.6.0.zip
http://download.arduino.org/tools/gcc-arm-none-eabi-4.8.3-2014q1-mac.tar.gz
http://download.arduino.org/libastylej-2.05.zip
http://download.arduino.org/tools/OpenOCD-0.9.0-arduino.org-x86_64-apple-darwin13.4.0.tar.bz2
http://download.arduino.org/tools/CMSIS.zip
http://download.arduino.org/tools/esp-link-tools-1.0.1-arduino-unix.tar.bz2
[EDIT: le site arduino.org n'étant plus accessible, j'ai enregistré ces fichiers chez un hébergeur gratuit, et on peut trouver leur lien à la fin de ce tuto, par ici.]

2) L'archive 1.7.11.zip  étant téléchargée, on la désarchive en cliquant sur son icône dans le Finder (ou sur le Bureau). Un dossier Arduino-1.7.11  contenant la majorité des sources du logiciel est alors créé dans le même dossier que l'archive.

[EDIT:] On copie ensuite le fichier d'archive libastylej-2.05.zip  (sans le désarchiver) dans le dossier Arduino-1.7.11/build/.


Si l'on procède à l'installation sur un Mac qui n'est pas connecté à Internet, les autres archives précédemment téléchargées doivent être copiées dans leurs dossiers respectifs :
avr-toolchain-mac32-3.4.5-1.zip
  va dans le dossier Arduino-1.7.11/build/macosx/
reference-1.6.0.zip
  va dans le dossier Arduino-1.7.11/build/shared/
gcc-arm-none-eabi-4.8.3-2014q1-mac.tar.gz
  va dans le dossier Arduino-1.7.11/build/macosx/dist/
libastylej-2.05.zip
  va dans le dossier Arduino-1.7.11/build/

• Les trois archives
- OpenOCD-0.9.0-arduino.org-x86_64-apple-darwin13.4.0.tar.bz2
- CMSIS.zip
- esp-link-tools-1.0.1-arduino-unix.tar.bz2
 vont dans le dossier Arduino-1.7.11/build/macosx/dist/


3) Le logiciel a besoin de la bibliothèque libedit, mais il s'attend à trouver la version 3, alors que c'est la version 2 qui est installée sur le Mac. Pour régler ce problème, il suffit de créer un lien vers cette version 2 à l'endroit où le logiciel recherchera la version 3.

Pour ce faire, il suffit de lancer l'utilitaire Terminal, et d'y taper les commandes suivantes :

cd /usr/lib

sudo ln -s libedit.2.dylib libedit.3.dylib
La saisie du mot de passe administrateur est demandée (cette saisie reste invisible à l'écran, ce qui est normal).


4) Si l'on souhaite apporter des modifications au code source du logiciel Arduino, c'est le moment de le faire.

Pour ma part, j'ajoute systématiquement des vitesses de transmission au moniteur série, afin de pouvoir communiquer avec certaines cartes à un débit beaucoup plus élevé. Cette modification peut être apportée dans le fichier Arduino-1.7.11/app/src/processing/app/AbstractMonitor.java à la ligne 136, en ajoutant au tableau serialRateStrings  les vitesses souhaitées (par exemple "1000000" pour 1Mb/s).


5) Pour démarrer la compilation, il faut d'abord lancer l'utilitaire Terminal (si ce n'est pas déjà fait) et se rendre dans le dossier Arduino-1.7.11/build/ à l'aide de la commande cd :

cd (chemin vers le dossier)/Arduino-1.7.11/build
Pour éviter d'avoir à saisir le chemin complet du dossier, on peut taper « cd » suivi d'un espace dans le Terminal, puis glisser le dossier Arduino-1.7.11/build/ depuis le Finder jusque dans la fenêtre de Terminal pour l'y lâcher, et taper sur la touche Entrée.

On tape ensuite la commande ant :

ant
Cette opération peut durer entre 10 et 15 minutes. Beaucoup plus si la connexion Internet utilisée pour télécharger automatiquement les archives supplémentaires est lente.

Enfin, on termine la compilation en tapant la commande ant run :

ant run


L'application Arduino.app  est créée dans le dossier Arduino-1.7.11/build/macosx/work/, d'où on peut la déplacer vers son dossier définitif (par exemple le dossier Applications).

jeux_sais_faire

Merci Beaucoup pour ce tuto: ça me sauve la vie!

jeux_sais_faire

Et ça fonctionne du tonnerre de Zeus ! (pourtant je suis un peu blonde!)
Big up à toi _pepe_ ;)
Et encore une fois 1000 merci...

_pepe_

#3
Feb 07, 2017, 08:41 pm Last Edit: Feb 07, 2017, 08:41 pm by _pepe_
De rien. Heureux d'apprendre que ça t'a été utile.  :)

_pepe_

#4
Feb 07, 2017, 08:48 pm Last Edit: Feb 07, 2017, 08:49 pm by _pepe_
 J'aurais aussi pu rajouter qu'une fois l'application créée et déplacée dans le dossier Applications, on pouvait supprimer le dossier Arduino-1.7.11 et l'archive 1.7.11.zip afin de faire de la place sur le disque.

jeux_sais_faire

Désolée de te solliciter malgré ton tuto très complet, mais apparemment j'ai un petit problème pour téléverser les programmes créés avec cette version recompilée de l'IDE Arduino 1.7.11, alors que j'ai fait exactement ce que tu avais indiqué, et que je n'ai reçu aucun message d'erreur durant l'installation.
Au moment d'uploader le programme dans l'arduino UNO, apparaît ce message en rouge:

     dyld: Library not loaded: /usr/lib/libedit.3.dylib
     Referenced from:  
     /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude_bin
      Reason: image not found

Et le téléversement reste bloqué, pas de réaction de l'UNO (cad le programme n'est pas opérationnel)!

J'ai de nouveau refait la manip terminal du tuto concernant le libedit et voilà ce qui apparaît dans le terminal:

     Last login: Wed Feb  8 13:22:26 on ttys000
     Cat-:~ moi$ cd /usr/lib
     Cat-:lib moi$ sudo ln -s libedit.2.dylib libedit.3.dylib
     Password:
     ln: libedit.3.dylib: File exists
     Cat-:lib moi$

Qu'est-ce que cela veut dire? Comment résoudre ce bug, une idée?

Là pour le coup, je suis vraiment blonde... :(  ;)

Une piste: j'ai fait pas mal de manip pour installer python game, et plein de programmateurs avec X11 (Ruby, Java...), en mode hack avec des tutos: aurais-je installer la librairie libedit.3.dylib dans le processus? Et dans ce cas pourquoi Arduino ne la trouve pas alors que Terminal si?

Faut-il le préciser, je suis ultra débutante en programmation, mais j'ai pas peur de mettre les mains dans le cambouis !

Je te serais éternellement reconnaissante pour ton aide, je suis bloquée, si près du but, c'est ultra frustrant. Et je dois rendre mon TP pour le  FUN MOOC Arduino dans 3 jours...

_pepe_

#6
Feb 08, 2017, 05:59 pm Last Edit: Feb 11, 2017, 05:16 pm by _pepe_
Le premier message d'erreur (en rouge) suggère que la bibliothèque libedit.3.dylib n'a pas été trouvée. C'est le message obtenu lorsque le fichier est absent. Un problème de droits d'accès ou un contenu inadéquat aurait produit un message différent.

Toutefois, le message « ln: libedit.3.dylib: File exists » suggère que le fichier attendu est déjà présent.

Il est donc possible que le fichier libedit.2.dylib vers lequel le lien créé doit pointer soit absent du dossier /usr/lib/. Cela peut être dû au fait que le logiciel du Mac n'a pas été mis à jour, ou bien que le fichier a été supprimé (ou déplacé).


La solution naturelle consiste, selon le cas, soit à appliquer les dernières mises à jour (si cela n'a pas été fait, ou si cela peut réparer les erreurs de manipulation), soit à réinstaller le système (puis appliquer les mises-à-jour).

On pourrait envisager de ne récupérer que le fichier manquant, mais il est fort probable que d'autres bibliothèques du même package qui y sont liées partagent le même type de problème.

_pepe_

#7
Feb 08, 2017, 06:09 pm Last Edit: Feb 08, 2017, 06:26 pm by _pepe_
Comme il semble y avoir urgence, voici à toutes fins utiles le fichier libedit.2.dylib issu d'un Mac OS X 10.6.8.

Info concernant les droits d'accès :
$ ls -l /usr/lib/libedit.2.dylib
-rwxr-xr-x  1 root  wheel  434688 25 jui  2010 libedit.2.dylib


Le code source de libedit est disponible par ici.


jeux_sais_faire

    Waou ! 1000 millions de fois merci : ça marche ! Grâce à ton upload du fichier libedit.2.dylib, j'ai pu modifier le fichier d'origine dans le dossier usr à la racine du disque système (en utilisant mon utilitaire invisibility toggler pour faire apparaître les fichiers cachés: il semble que le mien ne faisait pas exactement la taille de celui que tu avais uploadé, bien que datant du même jour/même heure, et (tout en faisant un back-up de l'original au cas où) le remplacer par ton upload a été salutaire. Non sans avoir refait la manip dans TERMINAL:

            cd /usr/lib

            sudo ln -s libedit.2.dylib libedit.3.dylib

    pour actualiser le raccourci librairie.

    Donc après redémarrage d'Arduino, et reset de ma carte UNO (bouton reset) avant upload, ça marche !

    Tu me sauves la vie une deuxième fois.

    Je ne sais pas comment te remercier: un moyen de le faire publiquement, de te faire gagner des récompenses pour le post open-source le plus rapide et efficace du monde informatique ? Comment te faire gagner la palme du meilleur Arduineur francophone ? Big-big-maousse-big-up à toi _pepe_
    Toute ma reconnaissance de débutante à toi, O grand chef ;)...



    _pepe_

    N'en jette plus, la cour est pleine  ;) !

    stephane873

    Bonjour _pepe_

    Merci beaucoup pour ces instructions!

    Il semble que le lien: http://download.arduino.org/libastylej-2.05.zip  est mort, il retourne l'erreur

    Not Found

    The requested URL /libastylej-2.05.zip was not found on this server.


    l'installation ne peut se terminer...

    est-il possible d'avoir cette lib ailleurs?

    Merci

    _pepe_

    #11
    Feb 19, 2017, 11:41 pm Last Edit: Feb 19, 2017, 11:44 pm by _pepe_
    Voici l'archive libastylej-2.05.zip en pièce jointe.

    Il faut la copier (sans la désarchiver) dans le  dossier Arduino-1.7.11/build/ avant de lancer ant.

    stephane873

    Bonsoir _pepe_,

    Merci beaucoup pour la réponse très rapide!

    L'installation n'a toutefois pas fonctionné avec le fichier libastylej-2.05.zip. Lors du build, le checksum n'était pas bon.

    J'ai finalement téléchargé Arduino 1.6.13 et me suis servi de libastylej-2.05.1-3.zip.sha que j'ai copié dans la version 1.7.11. J'ai ensuite modifié le fichier build.xml pour y inclure libastylej-2.05.1-3 et cette fois ça a fonctionné!

    Arduino fonctionne maintenant sur mon Snow Leopard 10.6.8!

    Encore merci pour ton aide précieuse!

    _pepe_

    #13
    Feb 20, 2017, 08:25 am Last Edit: Feb 20, 2017, 08:32 am by _pepe_
    Le checksum SHA du fichier libastylej-2.05.zip est  2cd093d3da2b0204a666d90440f513b717c9f80c, et correspond au contenu du fichier Arduino-1.7.11/build/libastylej-2.05.zip.sha fourni dans l'archive principale 1.7.11.zip (dossier Arduino-1.7.11/build/).

    J'ai re-téléchargé et désarchivé l'archive 1.7.11.zip depuis le site arduino.org, et re-téléchargé libastylej-2.05.zip depuis le lien de ma pièce jointe ci-dessus. Et j'ai pu constater que le checksum SHA de cette dernière correspondait bien :

    Arduino-1.7.11/build $ openssl sha1 ./libastylej-2.05.zip
    SHA1(./libastylej-2.05.zip)= 2cd093d3da2b0204a666d90440f513b717c9f80c
    J'ai ensuite lancé ant, ce qui a provoqué comme prévu le téléchargement automatique des autres archives du projet (dans leur version actuelle), et enfin j'ai lancé ant run. Les vérifications de checksum se sont bien passées, et la compilation s'est terminée sans erreur.


    Si tu as bien utilisé les mêmes sources que celles indiquées dans ce tuto, alors il est possible que ton téléchargement de libastylej-2.05.zip se soit mal passé, ou qu'un de tes fichiers ait été modifié. Car à ce jour, avec le fichier joint ici suite à la disparition que tu as signalée (ce dont je te remercie :) ), les versions actuelles des éléments indiqués continuent d'être valables.

    stephane873

    J'ai re-téléchargé le tout de nouveau et pour une raison que j'ignore en ce moment, libastylej-2.05.zip n'a pas le bon checksum...

    $ md5 libastylej-2.05.zip
    MD5 (libastylej-2.05.zip) = 22787c4d0910a628b0ed71cdd40d8c13

    Par contre le fichier SHA retourne le bon:

    $ openssl sha1 ./libastylej-2.05.zip
    SHA1(./libastylej-2.05.zip)= 2cd093d3da2b0204a666d90440f513b717c9f80c

    C'est bizarre...

    Crois-tu que le fait d'utiliser la version libastylej-2.05.1-3 puisse occasionner des problèmes?

    Merci!

    Go Up