Aller au contenu


Photo
- - - - -

Installation simulateur openNero


  • Veuillez vous connecter pour répondre
11 réponses à ce sujet

#1 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 27 mars 2018 - 12:47

Bonjour,

Je suis en train d'essayer de compiler OpenNero mais il n'arrête pas de m'afficher des erreurs et là je n'arrive pas à comprendre ce qu'il me veut.

                 from /home/remi/opennero/source/ai/AgentBrain.cpp:4:
/home/remi/opennero/source/ai/rl/Approximator.h: In function ‘void boost::serialization::load(Archive&, boost::unordered::unordered_map<Key, Type, Hash, Compare, Allocator>&, unsigned int)’:
/home/remi/opennero/source/ai/rl/Approximator.h:61:17: error: expected ‘;’ before ‘Archive’
                 Archive,
                 ^~~~~~~
/home/remi/opennero/source/ai/rl/Approximator.h:68:13: error: statement cannot resolve address of overloaded function
      (ar, t);
 

    inline void load(
                             Archive & ar,
                             boost::unordered_map<Key, Type, Hash, Compare, Allocator> &t,
                             const unsigned int /* file_version */
                             ){
          boost::serialization::stl::save_collection
	    Archive,
                boost::unordered_map<Key, Type, Hash, Compare, Allocator>,
		boost::serialization::stl::archive_input_map<
                Archive, boost::unordered_map<Key, Type, Hash, Compare, Allocator> >,
		boost::serialization::stl::no_reserve_imp<boost::unordered_map<
                Key, Type, Hash, Compare, Allocator
                >
            (ar, t);
        }

Merci et bonne journée


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#2 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 27 mars 2018 - 01:26

Hmm, tu as cherché pour cette erreur sur internet ? Si c'est du code de la librairie, ça ressemble à un bug dans le framework, et potentiellement il y a une solution en ligne.
Sinon ;
- tu as bien la bonne version de boost et installé toutes les dépendances ?
- dans le code que tu colles, on dirait qu'il manque quelque chose après "save_collection", mais c'est difficile à dire juste à partir de ce bout de code. Lien vers le fichier complet sur le repo ?

Et enfin, il y a des binaires dispo pour Ubuntu, donc pas forcément besoin de recomplier la lib.
Bon courage.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#3 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 27 mars 2018 - 03:31

Alors oui j'ai cherché et j'ai rien trouvé d'interessant.

J'ai installé toute les dépendances que le site m'a dit.

voilà le lien du code

https://github.com/n.../Approximator.h

Et le binaire ne marche pas il me demande une vielle dépendance.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#4 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 28 mars 2018 - 12:14

Le message indiqué un point virgule manquant et le deuxième message découle du premier, puisque le compilateur ne comprend plus rien. Chaque instructions doit être séparer pas des points virgule. Là je ne voir pas la différence entre les types, les variables, les méthodes. On dirai une liste de type.

#5 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 28 mars 2018 - 12:29

Oui c'est un template de fonction et il est commun quand les lignes sont longues de faire des sauts de ligne pour accroître la lisibilité.
R2D21995, Le code que tu as collé diffère de celui du lien. Tu as fait des modifs ? Si oui ça peut être la source de l'erreur.
Le problème c'est qu'avec les fonctions templatées, les erreurs sont souvent assez horrible à lire. S'agit-il de la dernière erreur à se produire ?
Enfin, tu peux vérifier que le code de la fonction load correspond bien au code de l'API de boost. En gros, ce qui est fait entre les lignes 39 et 80, c'est surcharger les fonctions load, serialize de boost pour pouvoir sérialiser la classe Approximator définie ensuite.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#6 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 28 mars 2018 - 12:44

Oui c'est un template de fonction et il est commun quand les lignes sont longues de faire des sauts de ligne pour accroître la lisibilité.
R2D21995, Le code que tu as collé diffère de celui du lien. Tu as fait des modifs ? Si oui ça peut être la source de l'erreur.
Le problème c'est qu'avec les fonctions templatées, les erreurs sont souvent assez horrible à lire. S'agit-il de la dernière erreur à se produire ?
Enfin, tu peux vérifier que le code de la fonction load correspond bien au code de l'API de boost. En gros, ce qui est fait entre les lignes 39 et 80, c'est surcharger les fonctions load, serialize de boost pour pouvoir sérialiser la classe Approximator définie ensuite.

 

Dans ce cas il manque des <> , c'est ça ?



#7 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 28 mars 2018 - 03:03

Oui j'ai essayé de corriger l'erreur mais l'erreur était avant la modif. Comment vérifier que c'est bien la fonction load de libboost ?? Je ne trouve pas la fonction sur internet. Franchement le cpp n'est pas du tout ma tasse de thé. :P Dommage ce logiciel à l'air vachement bien.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#8 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 28 mars 2018 - 09:56

Tu as essayé en dé-commentant /* file_version */ car sinon il te manque le nom du paramètre ?



#9 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 28 mars 2018 - 11:59

Oui toujours la même erreur.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#10 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 29 mars 2018 - 12:16

Alors j'ai finis par trouvé un bout de code avec la fonction save_collection

 

ça donne ça

        template<class Archive, class Type, class Key, class Hash, class Compare, class Allocator >
            inline void load(
                             Archive & ar,
                             boost::unordered_map<Key, Type, Hash, Compare, Allocator> &t,
                             const unsigned int file_version
                             ){
          boost::serialization::stl::save_collection
            (ar, t);
        }

L'erreur disparait bien mais une 100 aine de notes apparraît avec plusieurs messages d'erreurs.

/home/remi/opennero/source/ai/rl/Approximator.cpp:252:1:   required from here
/usr/include/c++/7/ostream:682:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’

/usr/include/boost/serialization/collections_save_imp.hpp:66:12: error: no match for ‘operator<<’ (operand types are ‘boost::archive::text_iarchive’ and ‘const boost::serialization::nvp<const std::pair<const std::pair<std::vector<double>, std::vector<double> >, double> >’)
         ar << boost::serialization::make_nvp("item", *it++);
         ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Je ne sais plus quoi faire. Je ne comprends pas pourquoi il y a autant de problèmes. J'ai même dû récupérer les sources d'autres dépendances parceque celle qui étaient fournnit avec opennero n'était pas compilable.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#11 arobasseb

arobasseb

    Membre chevronné

  • Administrateur
  • PipPipPipPip
  • 737 messages
  • Gender:Male
  • Location:BORDEAUX (33)

Posté 29 mars 2018 - 01:26

t'es sur quelle version de ubuntu et en quelle archi (x86 ou x64)? sinon je monte une VM cet après-midi comme ça ce soir j'essaie de reproduire.



#12 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 29 mars 2018 - 04:11

kali  linux V2


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users