Forum des Objets Communicants et Solutions pour les Libérer...
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-15%
Le deal à ne pas rater :
(Adhérents Fnac) LEGO® Star Wars™ 75367 Le croiseur d’assaut de ...
552.49 € 649.99 €
Voir le deal

 

 Compilation avec Clang

Aller en bas 
2 participants
AuteurMessage
Alexjd
Bronze Nabz
Bronze Nabz
Alexjd


Localisation : PACA
Nabaztag : Lapinou
Nbr de messages : 182
Carottes : 5006

Compilation avec Clang Empty
MessageSujet: Compilation avec Clang   Compilation avec Clang Icon_minitimeDim 28 Juin 2015 - 17:38

Sous FreeBSD 10.1, Clang est devenu le compilateur par défaut. Cela m'arrangerait donc de ne pas avoir à bricoler un GCC. Or, lorsqu'on essaie de compiler OpenJabNab avec Clang, on se heurte immédiatement à un message d'erreur:

Code:
% make
cd lib/ && make -f Makefile
clang++ -c -pipe -Werror -O2 -pthread -D_THREAD_SAFE -Wall -W -fPIC -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/share/qt4/mkspecs/freebsd-clang -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtNetwork -I/usr/local/include/qt4 -I. -I../main -Itmp/moc -I/usr/local/include/qt4 -I/usr/local/include -o tmp/obj/httphandler.o httphandler.cpp
clang++ -c -pipe -Werror -O2 -pthread -D_THREAD_SAFE -Wall -W -fPIC -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/share/qt4/mkspecs/freebsd-clang -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtNetwork -I/usr/local/include/qt4 -I. -I../main -Itmp/moc -I/usr/local/include/qt4 -I/usr/local/include -o tmp/obj/xmpphandler.o xmpphandler.cpp
In file included from xmpphandler.cpp:5:
./iq.h:1:9: error: '_IQ_H_' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
#ifndef _IQ_H_
       ^~~~~~
./iq.h:2:9: note: 'IQ_H_' is defined here; did you mean '_IQ_H_'?
#define IQ_H_
       ^~~~~
       _IQ_H_
1 error generated.
*** Error code 1

Stop.
make[1]: stopped in /usr/home/any/openjabnab-git/OpenJabNab/server/lib
*** Error code 1

Stop.

Quelqu'un a-t-il une idée?


Dernière édition par Alexjd le Mar 30 Juin 2015 - 7:50, édité 1 fois
Revenir en haut Aller en bas
RedoX
Platinum Nabz
Platinum Nabz
RedoX


Localisation : France
Nbr de messages : 1287
Carottes : 6449

Compilation avec Clang Empty
MessageSujet: Re: Compilation avec Clang   Compilation avec Clang Icon_minitimeLun 29 Juin 2015 - 11:10

Salut,

Au début du fichier lib/iq.h tu as:
Code:
#ifndef _IQ_H_
#define IQ_H_
...
Modifie la deuxième ligne pour que ca ressemble à ça
Code:
#ifndef _IQ_H_
#define _IQ_H_
...

Intéressant... Presque amusant en fait =) Je ne sais pas pourquoi GCC ne jette pas d'erreur/warning...

Si cela fonctionne, tu risques d'avoir le même problème ailleurs... Même fix.

Bon courage et n'hésite pas à poster d'autres soucis, maintenant je serais averti en cas de posts sur ce topic...

RedoX
Revenir en haut Aller en bas
https://openjabnab.fr/
Alexjd
Bronze Nabz
Bronze Nabz
Alexjd


Localisation : PACA
Nabaztag : Lapinou
Nbr de messages : 182
Carottes : 5006

Compilation avec Clang Empty
MessageSujet: Re: Compilation avec Clang   Compilation avec Clang Icon_minitimeLun 29 Juin 2015 - 23:30

Les années passent et RedoX est toujours aussi rapide!  nabzlol
Effectivement, la modification résout le problème, qui ne se trouve qu'à cet endroit.
Pour le reste j'ai eu un petit problème avec l'encodage de plugins/tv/plugin_tv.cpp, bizarrement en ISO-8859 alors que le reste est en utf-8, ce qui fait planter Clang, lequel ne prend en entrée que de l'utf-8.
Pour ceux qui auraient le même problème (sait-on jamais...), il suffit de convertir le fichier:
Code:
iconv -f ISO-8859-1 -t UTF-8 plugins/tv/plugin_tv.cpp > plugins/tv/plugin_tv.cpp.utf8
mv plugins/tv/plugin_tv.cpp.utf8 plugins/tv/plugin_tv.cpp

La compilation se termine par ailleurs sans accroc. Reste maintenant à tester en réel sur le serveur.

Ce serait peut-être bien de faire les deux modifications dans le git principal? Pixel, si tu nous lis...


Dernière édition par Alexjd le Mar 30 Juin 2015 - 7:43, édité 1 fois
Revenir en haut Aller en bas
RedoX
Platinum Nabz
Platinum Nabz
RedoX


Localisation : France
Nbr de messages : 1287
Carottes : 6449

Compilation avec Clang Empty
MessageSujet: Re: Compilation avec Clang   Compilation avec Clang Icon_minitimeLun 29 Juin 2015 - 23:45

Tu as surtout eu de la chance, je ne me connecte qu'assez rarement >_<

J'ai appliqué les deux modifications, et ca compile toujours bien avec GCC 4.9 donc... je push ça sur le dépot Git.

Merci des remarques yellownabzwink
Revenir en haut Aller en bas
https://openjabnab.fr/
Contenu sponsorisé





Compilation avec Clang Empty
MessageSujet: Re: Compilation avec Clang   Compilation avec Clang Icon_minitime

Revenir en haut Aller en bas
 
Compilation avec Clang
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Compilation version ebc503c sous windows XP/Easy PHP 5.3.3.1
» Compilation
» Erreur compilation
» OpenJabNab still does not recognize libcommon.so after compilation.
» [Install local] Erreur compilation

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: