Page 1 sur 1

[AUR] Flightgear 2020.3.17-1 Erreur de compilation. (résolu)

Publié : sam. 11 mars 2023, 19:28
par lemust83
Bonjour @ tous .
Quelqu'un a t'il réussi a compiler cette nouvelle mouture du célèbre simulateur de vol ? Que ce soit sous Arch ou Manjaro, la compilation échoue.
Il faut commencer par compiler simgear puis flightgear et enfin flightgear-data qui doivent être tous trois de la même version . Hélas, à 95% de la compilation de simgear, une erreur apparaît:

Code : Tout sélectionner

[ 95%] Building CXX object simgear/CMakeFiles/SimGearScene.dir/scene/viewer/ClusteredShading.cxx.o
/tmp/simgear/src/simgear-2020.3.17/simgear/scene/util/SGProgram.cxx: Dans la fonction membre « virtual void SGProgram::apply(osg::State&) const »:
/tmp/simgear/src/simgear-2020.3.17/simgear/scene/util/SGProgram.cxx:58:31: attention: comparaison d'expressions entières de types signés différents: « int » et « unsigned int » [-Wsign-compare]
   58 |             for (int i = 0; i < getNumShaders(); ++i) {
      |                             ~~^~~~~~~~~~~~~~~~~
/tmp/simgear/src/simgear-2020.3.17/simgear/scene/util/SGProgram.cxx:69:27: attention: comparaison d'expressions entières de types signés différents: « int » et « unsigned int » [-Wsign-compare]
   69 |         for (int i = 0; i < getNumShaders(); ++i) {
      |                         ~~^~~~~~~~~~~~~~~~~
[ 95%] Building CXX object simgear/CMakeFiles/SimGearScene.dir/scene/viewer/Compositor.cxx.o
Dans le fichier inclus depuis /tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/Compositor.cxx:17:
/tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/Compositor.hxx:137:34: erreur: le champ « _uniforms » a le type incomplet « simgear::compositor::Compositor::BuiltinUniforms » {aka « std::array<osg::ref_ptr<osg::Uniform>, 14> »}
  137 |     BuiltinUniforms              _uniforms;
      |                                  ^~~~~~~~~
Dans le fichier inclus depuis /usr/include/c++/12.2.1/bits/hashtable_policy.h:34,
                 depuis /usr/include/c++/12.2.1/bits/hashtable.h:35,
                 depuis /usr/include/c++/12.2.1/unordered_map:46,
                 depuis /tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/Compositor.hxx:20:
/usr/include/c++/12.2.1/tuple:1595:45: note: déclaration de « simgear::compositor::Compositor::BuiltinUniforms » {aka « struct std::array<osg::ref_ptr<osg::Uniform>, 14> »}
 1595 |   template<typename _Tp, size_t _Nm> struct array;
      |                                             ^~~~~
[ 95%] Building CXX object simgear/CMakeFiles/SimGearScene.dir/scene/viewer/CompositorBuffer.cxx.o
Dans le fichier inclus depuis /tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/CompositorBuffer.cxx:33:
/tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/Compositor.hxx:137:34: erreur: le champ « _uniforms » a le type incomplet « simgear::compositor::Compositor::BuiltinUniforms » {aka « std::array<osg::ref_ptr<osg::Uniform>, 14> »}
  137 |     BuiltinUniforms              _uniforms;
      |                                  ^~~~~~~~~
Dans le fichier inclus depuis /usr/include/c++/12.2.1/bits/stl_map.h:63,
                 depuis /usr/include/c++/12.2.1/map:61,
                 depuis /usr/include/osg/GLExtensions:24,
                 depuis /usr/include/osg/BufferObject:19,
                 depuis /usr/include/osg/Image:17,
                 depuis /usr/include/osg/Texture:18,
                 depuis /tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/CompositorBuffer.hxx:20,
                 depuis /tmp/simgear/src/simgear-2020.3.17/simgear/scene/viewer/CompositorBuffer.cxx:17:
/usr/include/c++/12.2.1/tuple:1595:45: note: déclaration de « simgear::compositor::Compositor::BuiltinUniforms » {aka « struct std::array<osg::ref_ptr<osg::Uniform>, 14> »}
 1595 |   template<typename _Tp, size_t _Nm> struct array;
      |                                             ^~~~~
make[2]: *** [simgear/CMakeFiles/SimGearScene.dir/build.make:1826: simgear/CMakeFiles/SimGearScene.dir/scene/viewer/Compositor.cxx.o] Error 1
make[2]: *** Attente des tâches non terminées....
make[2]: *** [simgear/CMakeFiles/SimGearScene.dir/build.make:1840: simgear/CMakeFiles/SimGearScene.dir/scene/viewer/CompositorBuffer.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:887: simgear/CMakeFiles/SimGearScene.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERREUR : Une erreur s’est produite dans build().
    Abandon…
J'ai essayer de rétrograder cmake , puis avec la toute dernière version de cmake , toujours la même erreur. il semblerait que ce soit un problème lié au code source.
J'ai posté un rapport de bug sur le dépôt du projet https://github.com/acxz/flightgear-arch/issues et il y a déjà des posts relayant cette erreur, mais à ce jour, pas de réaction.
Si quelqu'un avait une idée..

Re: [AUR] Flightgear 2020.3.17-1 Erreur de compilation.

Publié : sam. 11 mars 2023, 19:44
par lemust83
Je me répond à moi-même : le développeur vient de mettre à jour le PKGBUILD avec un patch correctif.
Simgear se compile bien maintenant. J'attaque la suite .