Bonjour,
Je suis HONG Silien, je travail avec Yann Thierry-Mieg pour intégrer SPOT dans notre serveur d'intégration continu. Yann m'a dit qu'il y avait une branche "stable" qui me permettait d'éviter les erreurs de compilation avec les Warnings.
Malheuresement ca ne compile toujours pas, voici l'erreur : /bin/sh ../../libtool --tag=CXX --mode=compile g++-4.2 -DPACKAGE_NAME="spot" -DPACKAGE_TARNAME="spot" -DPACKAGE_VERSION="0.6" -DPACKAGE_STRING="spot\ 0.6" -DPACKAGE_BUGREPORT="spot@lrde.epita.fr" -DPACKAGE_URL="" -DPACKAGE="spot" -DVERSION="0.6" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SRAND48=1 -DHAVE_DRAND48=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -I./.. -I../../buddy/src -I/Users/hong/usr/include -DNDEBUG -W -Wall -Wcast-align -Wpointer-arith -Wwrite-strings -Wcast-qual -DXTSTRINGDEFINES -Werror -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -MT tgbasafracomplement.lo -MD -MP -MF .deps/tgbasafracomplement.Tpo -c -o tgbasafracomplement.lo tgbasafracomplement.cc libtool: compile: g++-4.2 -DPACKAGE_NAME="spot" -DPACKAGE_TARNAME="spot" -DPACKAGE_VERSION="0.6" "-DPACKAGE_STRING="spot 0.6"" -DPACKAGE_BUGREPORT="spot@lrde.epita.fr" -DPACKAGE_URL="" -DPACKAGE="spot" -DVERSION="0.6" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SRAND48=1 -DHAVE_DRAND48=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -I./.. -I../../buddy/src -I/Users/hong/usr/include -DNDEBUG -W -Wall -Wcast-align -Wpointer-arith -Wwrite-strings -Wcast-qual -DXTSTRINGDEFINES -Werror -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -MT tgbasafracomplement.lo -MD -MP -MF .deps/tgbasafracomplement.Tpo -c tgbasafracomplement.cc -fno-common -DPIC -o .libs/tgbasafracomplement.o cc1plus: warnings being treated as errors tgbasafracomplement.cc:57: warning: ‘spot::safra_tree_automaton’ has a field ‘spot::safra_tree_automaton::automaton’ whose type uses the anonymous namespace tgbasafracomplement.cc:57: warning: ‘spot::safra_tree_automaton’ has a field ‘spot::safra_tree_automaton::initial_state’ whose type uses the anonymous namespace
Je connais pas très bien GIT, et j'espère avoir compilé la bonne branche, voici la commande que j'ai tapé pour récupérer le source : git clone --branch stable git://git.lrde.epita.fr/spot
Un petit coup de pouce est la bienvenue ... Merci d'avance. Cordialement,
Hi Silien !
(Answering in English because this list is public.)
2010/10/7 Silien Hong silien.hong@lip6.fr:
Yann m'a dit qu'il y avait une branche "stable" qui me permettait d'éviter les erreurs de compilation avec les Warnings.
I though that in the past I had arranged things so that -Werror would only be used for development versions, but it seems I was wrong. -Werror was always used.
cc1plus: warnings being treated as errors tgbasafracomplement.cc:57: warning: ‘spot::safra_tree_automaton’ has a field ‘spot::safra_tree_automaton::automaton’ whose type uses the anonymous namespace
This warning is actually a bug in g++-4.2. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365. Later versions of GCC should not warn about this construction.
Even so, I have changed Spot's code 1) so that it should not trigger this warning any more (I could not test this, because version of g++-4.2 seems to be patched not to warn about this) 2) so that future stable releases of Spot will not use -Werror by default 3) so you can explicitly disable all extra warnings and -Werror flags with `./configure --disable-devel`.
You can configure your build tool to use "git clone git://git.lrde.epita.fr/spot" in order to compile the new code. This is not a released version, so -Werror will be on by default, but tgbasafracomplement.cc should not produce a warning anymore, and you can also add --disable-devel if you encounter more warnings (but please do report them to me, any warning is worth fixing).