Arduino Forum

International => Français => Topic started by: schrist on Apr 17, 2019, 02:40 pm

Title: Problème de compilation
Post by: schrist on Apr 17, 2019, 02:40 pm
Bonjour,
j'ai passé à la version 1.8.9 et je n'arrive plus à compiler mon projet.
J'obtiens ce message:
Arduino : 1.8.9 (Windows XP), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Les options de compilation ont été modifiées, tout sera recompilé
C:\Arduino\ControleNatel\ControleNatel\ControleNatel.ino: In function 'void LoadSMSZone(int)':

C:\Arduino\ControleNatel\ControleNatel\ControleNatel.ino:1114:18: warning: passing 'const String' as 'this' argument discards qualifiers [-fpermissive]

       aNumber ="";

                  ^

In file included from C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:231:0,

                 from sketch\ControleNatel.ino.cpp:1:

C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/WString.h:87:11: note:   in call to 'String& String::operator=(const char*)'

  String & operator = (const char *cstr);

           ^

C:\Arduino\ControleNatel\ControleNatel\ControleNatel.ino:1128:22: warning: passing 'const String' as 'this' argument discards qualifiers [-fpermissive]

           aNumber[j] += cValue;

                      ^

In file included from C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:231:0,

                 from sketch\ControleNatel.ino.cpp:1:

C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/WString.h:115:11: note:   in call to 'String& String::operator+=(char)'

  String & operator += (char c)   {concat(c); return (*this);}

           ^

C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino\WString.cpp: In member function '__base_ctor .constprop':

C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino\WString.cpp:82:1: internal compiler error: Segmentation fault

 }

 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:\Documents and Settings\sc\Local Settings\Application Data\Arduino15\packages\arduino\tools\avr-gcc\5.4.0-atmel3.6.1-arduino2/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/documents and settings/sc/local settings/application data/arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Erreur de compilation pour la carte Arduino/Genuino Mega or Mega 2560

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

****************
Que faire ?

Merci d'avance.
Sébastien
Title: Re: Problème de compilation
Post by: dbrion06 on Apr 17, 2019, 02:50 pm
Quote
C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino\WString.cpp:82:1: internal compiler error: Segmentation fault
indique un problème spécifique au compilateur (ce n'est pas votre faute) qui est, à mon avis, sauf panne mémoire grave dans ma petite tête, connu depuis une quinzaine de jours (pas la peine de remplir un rapport de bug) ... et qui l'empêche de compiler une fonction de la librairie Arduino.

Une solution est de changer de version de compilateur. Pour ce faire, revenir à la version précédente -1.8.8 - est la façon la plus naturelle (le site de téléchargement d'Arduino permet de disposer de toutes les versions)
Title: Re: Problème de compilation
Post by: bidouilleelec on Apr 17, 2019, 03:05 pm
http://forum.arduino.cc/index.php?topic=608812.0

http://forum.arduino.cc/index.php?topic=608812.0 (http://forum.arduino.cc/index.php?topic=608812.0)
Title: Re: Problème de compilation
Post by: schrist on Apr 17, 2019, 08:57 pm
Bonjour,

Merci, c'est ce que je vais essayer de faire.
A moins que l'on sache que la correction du bug est imminente.....

A bientôt et merci encore
Title: Re: Problème de compilation
Post by: schrist on Apr 18, 2019, 06:42 am
Bonjour,
Malheureusement, cela ne change rien.
J'ai plutôt l'impression que c'est une "librairie " AVR qui pose problème.
EN effet, ces derniers jours, l'IDE m'a proposé de mettre à jour et je l'ai fait, mais je ne sais plus le nom de cette bibliothèque.
Bonne journée.
Sébastien
Title: Re: Problème de compilation
Post by: lesept on Apr 18, 2019, 09:53 am
Regarde dans ton répertoire de bibliothèques Arduino laquelle est la plus récente ou a été modifiée récemment.
Title: Re: Problème de compilation
Post by: schrist on Apr 18, 2019, 12:25 pm
Il semble que le problème apparaît dans la librairie WString.....
Mais je ne comprends pas , car j'ai d'autres projets qui se compilent !
Title: Re: Problème de compilation
Post by: bidouilleelec on Apr 18, 2019, 12:45 pm
Bonjour dbrion06
indique un problème spécifique au compilateur (ce n'est pas votre faute) qui est, à mon avis, sauf panne mémoire grave dans ma petite tête, connu depuis une quinzaine de jours (pas la peine de remplir un rapport de bug) ... et qui l'empêche de compiler une fonction de la librairie Arduino.

Une solution est de changer de version de compilateur. Pour ce faire, revenir à la version précédente -1.8.8 - est la façon la plus naturelle (le site de téléchargement d'Arduino permet de disposer de toutes les versions)
Je pense que le phénomène date de version 1.8.6 et que donc il faudrait essayer avec une version 1.8.5.

Cordialement,
bidouilleelec
Title: Re: Problème de compilation
Post by: dbrion06 on Apr 18, 2019, 02:06 pm
Quote
Je pense que le phénomène date de version 1.8.6 et que donc il faudrait essayer avec une version 1.8.5.
C'est plus abominable que ça (et ça arrive de temps en temps):
il se peut que la version 1.8.5 ne déclenche pas de bug, que la version 1.8.6 en déclenche, que la 1.8.7  (ils corrigent rapidement) et la 1.8.8 n'en déclenchent pas et que la 1.8.9 en déclenche ... la solution consiste à descendre méthodiquement les versions, l'une après l'autre. (c'était un défaut qui arrivait il y a une dizaine d'années avec gcc)....

Une autre solution consiste à faire de très légères modifs au programme incriminé, ne changeant pas son sens: il faut l'exclure si c'est un bout de code de librairie.... Une variante de cette idée est de forcer un autre mode d'affichage de g++ (afficher tous les détails est une option de l'IDE Arduino: le lien que vous donnez indiquerait que ça permettrait de cacher, **parfois***, ce type de bug)

Une autre solution consiste à ... changer de fournisseur: -privilègier le site de téléchargement d'Arduino à windows store....-

Title: Re: Problème de compilation
Post by: schrist on Apr 22, 2019, 11:35 am
Bonjour,

Merci pour vos idées.

J'ai changé l'option de compilation : Afficher les résultats détaillés pendant la compilation....
Et le projet s'est compilé.
J'ai à nouveau retiré l'option et cela a de nouveau passé.

Je n'ai pas tout compris, mais ça fonctionne
Title: Re: Problème de compilation
Post by: biggil on Apr 22, 2019, 07:32 pm
c'est trop bon, l'informatique :smiley-eek:
Title: Re: Problème de compilation
Post by: bidouilleelec on Apr 23, 2019, 07:58 am
Bonjour schrist
.....
J'ai changé l'option de compilation : Afficher les résultats détaillés pendant la compilation....
Et le projet s'est compilé.
J'ai à nouveau retiré l'option et cela a de nouveau passé.

Je n'ai pas tout compris, mais ça fonctionne
Je ne crois plus en la magie en matière d'informatique.
Vous avez sûrement modifié quelque chose soit dans votre programme soit dans l'IDE.
Il serait utile pour tous que vous le précisiez.

Cordialement,
bidouilleelec
Title: Re: Problème de compilation
Post by: dbrion06 on Apr 23, 2019, 01:04 pm
"J'ai changé l'option de compilation : Afficher les résultats détaillés pendant la compilation....
Et le projet s'est compilé.
J'ai à nouveau retiré l'option et cela a de nouveau passé."
Est ce que ces manipulations ont eu lieu pendant la même session?
(si c'est le cas, il me semble probable -afficher les messages d'erreurs n'affecte pas le code généré- que le code généré pour les fichiers dépendants de WString.h -une librairie système- n'aient pas eu besoin d'être recompilés, donc n'aient pas été recompilés et que la bug soit bien cachée (mais prête à refaire des farces au démarrage de l'IDE... qui nettoye les résultats de la compilation).
Pourquoi ne pas garder cette option d'affichage détaillé de la phase de compilation? (si ça marche, pas besoin de lire le détail, fastidieux, j'en convient;
 si ça ne marche pas, on est suffisamment ennuyé, frustré, que dis je , traumatisé pour oubler d'activer cette option qui permet de chasser tranquillement les horreurs)