Go Down

Topic: J'ai pas compris. (Read 4501 times) previous topic - next topic

chris4775

Bonjour.
Utilisateur d'Arduino sous Linux Mint depuis des années avec des bugs réguliers dont un gros récemment qui m'a amené à continuer mon travail sous Windows. J'ai essayé récemment deux nouvelles distributions Ubuntu Gnome 3 et Zorin 7 pour voir.
L'Installation d'Arduino se passe sans problèmes à l'aide de la logithèque Ubuntu. Reconnaissance de L'IDE, de port USB et téléchargement de "Blink" pour voir. Tout est OK.
Comme j'ai une grosse librairie et un sketchbook conséquent, je fais comme d'habitude un copier coller des deux fichiers. RAS.
Le sketchbook est bien reconnu et la librairie aussi. MAIS l'IDE de démarre plus au double clic sur l'icone.
Je peux démarrer  Arduino qu'en utilisant le terminal et tapant "sudo arduino" !!!

Que s'est il passé ? J'ai effectué cette opération à de multiples reprises sans heurts. Ceci est valable sous Zorin et Ubuntu Gnome
Enfin, je reconnais avec honte que j'utilise Arduino en double sous XP depuis des années sans aucun problème, matin et soir, jour et nuit, été comme hiver. Oui, j'ai honte d'avouer que je crois que je vais en rester là pour le moment.
Merci pour votre aide.

68tjs

#1
Aug 02, 2013, 02:36 pm Last Edit: Aug 02, 2013, 02:39 pm by 68tjs Reason: 1
Question:
La version de l'IDE que tu utilises sous Linux c'est celle provenant du site Arduino ou celle provenant des dépots officiels de la distribution.

Je suis sous debian, je n'utilise que la version packagée par Debian et je n'ai pas eu de difficultés.
Les autres provenances je regarde, je teste par curiosité, mais je n'utilise pas.

A tu vérifié dans les "propriétés" de l'icone que le chemin de l'exécutif correspond bien à son emplacement réél ?
Parce qu'une "icone" ce n'est jamais qu'un bête lanceur d'application, elle ne fait que ce qu'on lui dit de faire.

Autre point si tu lance le programme dans un terminal s'il se passe quelque chose d'anormal tu dois avoir plein d'indication qui s'écrive dans le terminal, est-ce le cas ?


Edit : S'il te plait modifie le titre dans le premier message car il ne veut rien dire. Il existe un moteur de recherche et avec un titre pareil les réponses ne pourrons pas servir à d'autres. (voir la charte du forum)
Les Shadocks : L'ignorance ne s'apprend pas.

chris4775

Merci pour cette réponse rapide.
Sinon tu as mille fois raison pour le titre mais je suis tellement surpris par ce bug que je me suis lâché !!
J'ai monté des dizaines d'IDE sous Linux et Windows et recopiant mes librairies et sketchbooks que  je coince ferme.

Donc je répéte. Install de Arduino à partir de la distrib Ubuntu. Fonctionne OK. Essaye "Blink avec un Uno" OK
Copie des mes éléments persos et là patatras. Je ne comprends pas pourquoi. Rien n'a changé dans le foncier.

Donc si je clique sur l'icône implantée par la distrib rien ne se passe. Terminal. Je tape arduino et voici le texte récupéré:

christian@christian-Rev-1-0:~$ arduino
Exception in thread "main" java.lang.NullPointerException
   at processing.app.Base.addLibraries(Base.java:1225)
   at processing.app.Base.rebuildImportMenu(Base.java:960)
   at processing.app.Editor.buildSketchMenu(Editor.java:630)
   at processing.app.Editor.buildMenuBar(Editor.java:475)
   at processing.app.Editor.<init>(Editor.java:205)
   at processing.app.Base.handleOpen(Base.java:704)
   at processing.app.Base.handleOpen(Base.java:669)
   at processing.app.Base.handleNew(Base.java:565)
   at processing.app.Base.<init>(Base.java:305)
   at processing.app.Base.main(Base.java:194)

Je tape "sudo arduino " et ça démarre.
Avec "Alacarte" j'ai crée un script "gksudo arduino" Il ouvre l'IDE et me demande mon mot de passe. Et ça démarre.
En fait, je ne saisi pas ce que j'ai pu modifier de fondamental en recopiant mes librairies. Fait des dizaines de fois en club !!
Voilà et merci pour ton aide. Sous Gnome 3 il n'est pas facile de  créer un lanceur perso sur le bureau d'où Alacarte.
Et pour le fun sous Linux Mint j'ai eu pire. Plus de liaison USB du jour au lendemain.


skizoh

Si le problème c'est juste de devoir le lancer en ligne de commande je trouve que tu te casse un peu trop le cul à comprendre, click marche pas? tampis ! ligne de commande marche? tant mieux !! FINI plus de problème tu à ta solution ^^'

Après c'est mon point de vue, mais en informatique quand le problème n'affect rien et est si dérisoire ( une ligne de commande au lieu d'un clique ) vaux mieux l'isoler et passer à autre chose.

Skizo !

chris4775

Oui, bien sur c'est une solution.
mais nous sommes là aussi pour apprendre et j'aimerai comprendre ce qui ce passe dans ce cas là !!!
et ps avant avec d'autres distribs.
Il doit bien y avoir un bel os à ronger pour se faire les méninges !!
@+

68tjs

Quote
i le problème c'est juste de devoir le lancer en ligne de commande je trouve que tu te casse un peu trop le cul à comprendre,

Eh bé skizoh  avec des raisonnements pareils tu es sacrément mal barré.

Le point qui me choque c'est d'être obligé de lancer l'IDE avec les droits administrateur : c'est une erreur énorme.
Ce que tu n'as peut être pas intégré c'est que l'IDE a accès a l'USB et que sous un système Debian ou dérivé (Ubuntu, Mint, etc..) pour avoir les droits d'écrire sur l'USB il faut :
- soit être administrateur : solution de facilité à exclure.
- soit appartenir au groupe "dialout".

Sur les dernières versions pour debian le mainteneur du paquet Arduino à modifié l'IDE pour que l'inscription dans "dialout" soit automatiquement proposée, Ubuntu retouche les paquets Debian, je ne sais pas ce qu'ils ont fait.
Les Shadocks : L'ignorance ne s'apprend pas.

skywodd

Bonjour,

Hummm ... Skizoh, tu va finir avec un sale coup sur la tête si tu continus comme ça ;)
Lancer une application graphique en root, sans aucune raison valable, hérétique ! Rien que d'y avoir pensé tu devrais finir sur le bucher !

Maintenant le problème :
Code: [Select]
Exception in thread "main" java.lang.NullPointerException
   at processing.app.Base.addLibraries(Base.java:1225)
   at processing.app.Base.rebuildImportMenu(Base.java:960)


Ligne 1 : la classique "NullPointerException" que tout dév Java connait et qui ne devrait pas exister dans une application bien foutu (mais là on parle d'un truc fait par la Team arduino donc l'aspect "bien foutu" est passé à la trappe dès la version 0001).
Ligne 2 du stacktrace (c'est le nom de ce listing) : l'exception a été levée à l'intérieur de la fonction "addLibraries", elle même appelée par la fonction "rebuildImportMenu" (ligne 3).

Conclusion : une librairie dans ton dossier "librairies" est suffisamment mal (ou bien, question de point de vue) foutue et entraine le crash de l'IDE lorsque celui ci tente de faire le recensement des librairies disponible.

Procède par élimination, dés que tu verras l'ide remarcher tu auras le nom de la librairie qui pose problème.
Fait en un ZIP ou donne nous le lien vers la libraire en question et on testera chez nous pour voir si c'est une énième Arduinoderie de la team Arduino ou un bug isolé ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

chris4775

Alors là Chapeau Monsieur ......

Tu vois, je suis bien content d'avoir un tantinet insisté parce que je savais qu'il y avait quelque chose de nouveau qui foirait.
Hé bien c'étaient mes ex librairies que j'avais copier/coller dans le nouveau répertoire /urs/share/arduino et qui n'ont pas été  acceptées pour des raisons que je vais chercher à découvrir mais c'est bien la première fois. j'avais fait le copier/coller sous "sudo nautilus" en vain.

Bref, bravo à toi skywood car une fois la dernière librairie importée enlevée l'IDE a démarrée comme en 14 si je puis dire.
Je suis bien content d'avoir compris cela et je vais bien dormir certainement sur mes deux oreilles.
Demain je cherche le pourquoi et je te tiens au courant.

Encore merci

ps: un de ces jours je t'exposerai un problème qui m'est arrivé brutalement sous Linux Mint mon OS préféré et qui me bloque toujours l'USB

Christian

skywodd


ps: un de ces jours je t'exposerai un problème qui m'est arrivé brutalement sous Linux Mint mon OS préféré et qui me bloque toujours l'USB

Ouvre un topic dans le sous forum "bar" si c'est pas orienté arduino, je viendrai y jeter un coup d'œil ;)
Je travaille sous Mint depuis la version 13, avant j'étais sous Ubuntu mais l'interface Unity, non merci.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

fdufnews

Quote
Hé bien c'étaient mes ex librairies que j'avais copier/coller dans le nouveau répertoire /urs/share/arduino et qui n'ont pas été  acceptées pour des raisons que je vais chercher à découvrir

Tes librairies personnelles (enfin autres que celles livrées avec l'IDE de base) devraient être dans ton home dans un répertoire sketchbook par exemple. Comme ça elles ne sont pas écrasées lors d'une réinstallation de l'IDE. Et elles sont accessibles avec les droits utilisateur courant.

Quote
Je tape "sudo arduino " et ça démarre.
Avec "Alacarte" j'ai crée un script "gksudo arduino" Il ouvre l'IDE et me demande mon mot de passe. Et ça démarre.

J'ignore comment tu as fait ton installation mais je n'ai jamais rencontré ce problème.
L'IDE se lance dans l'espace utilisateur sans problème de droit, ni pour compiler, ni pour charger.

chris4775

Bonjour à tous.

Et merci pour votre aide bien sûr. Pour mettre un terme à cette affaire, je reprécise que je teste Ubuntu Gnome 3 ayant eu le même pb sur un essai de Zorin7. J'utilise Arduino depuis des années sous XP et Mint avec tous les manips possibles et inimaginables de transfert de librairies que j'efface et remet etc etc. Je développe des applis GPS et c' est un peu le folklore mais ça marche !!
Là, j'ai eu un pb nouveau pour moi. En recopiant mes librairies spécifiques GPS dans le répertoire /usr/share/arduino/librairie: ce que j'ai fait des dizaines de fois sous sudo les permissions n'ont pas été accordées et l'IDE ne démarrait pas. Skywood a levé le lièvre et ce matin j'ai recommencé en donnant manuellement l'accès aux fichiers refusés au préalable.
Et tout est rentré dans l'ordre. L-IDE démarre et je peux de nouveau travailler. Pourquoi sous sudo les accès ont été refusés cela dépasse mes compétences. Je précise également que si on installe Arduino avec la logithèque Ubuntu la librairie n'est pas dans home comme quand on le fait  après téléchargement direct comme je l'ai fait jusqu'à maintenant sous Mint. ou Debian.
Merci à tous et bonne journée;

fdufnews

Quote
Je précise également que si on installe Arduino avec la logithèque Ubuntu la librairie n'est pas dans home comme quand on le fait  après téléchargement direct comme je l'ai fait jusqu'à maintenant sous Mint. ou Debian.

Y'a un truc que tu n'as pas compris.
La librairie "standard" (celle qui est livré avec l'IDE) et placée dans /usr/share/.....
Tes librairies personnelles ou celles que tu importes, tu les places dans un répertoire de ton home. Typiquement ~/sketchbook/libraries/. Il y a dans le menu Fichier/Preferences de l'IDE une zone de saisie où tu spécifies l'emplacement de ce répertoire.
sketchbook contient les programmes que tu développe et libraries contient toutes les librairies que tu ajoutes.
L'avantage c'est que le répertoire sketchbook est préservé au fil des mises à jour et qu'il peut être copié collé sans problème. Le mieux par exemple est un lien vers un répertoire Ubuntu One en ligne ce qui me permet de retrouver mes dev et mes librairies lorsque je passe d'une machine à l'autre

chris4775

Ah ben ça c'est une bonne nouvelle. je n'avais effectivement jamais joué le mélange des sketchs et des librairies les utilisant.
Effectivement c'est tellement plus simple !!!

Merci donc pour ce uP et je vais essayer cela à la prochaine occasion.
Et je vais me pencher également sur Ubuntu One.

@+

Go Up