Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 12:16
    fredroy edited #1649
  • 12:15
    fredroy review_requested #1650
  • 12:15
    fredroy labeled #1650
  • 12:15
    fredroy labeled #1650
  • 12:15
    fredroy labeled #1650
  • 12:15
    fredroy labeled #1650
  • 12:15
    fredroy opened #1650
  • 09:43
    fredroy synchronize #1649
  • Dec 04 22:16
    epernod commented #1593
  • Dec 04 18:26
    fredroy commented #1649
  • Dec 04 18:15
    fredroy synchronize #1649
  • Dec 04 17:22
    fredroy edited #1649
  • Dec 04 17:22
    fredroy labeled #1649
  • Dec 04 17:22
    fredroy labeled #1649
  • Dec 04 17:22
    fredroy labeled #1649
  • Dec 04 17:21
    fredroy labeled #1649
  • Dec 04 17:21
    fredroy labeled #1649
  • Dec 04 17:20
    fredroy opened #1649
  • Dec 04 17:20
    fredroy labeled #1649
  • Dec 04 16:16
    fredroy assigned #1645
Damien Marchal
@damienmarchal
Hi all
Damien Marchal
@damienmarchal
Moi ce genre d'erreur m'arrive quand je compile avec -j 20 :)
si tu trace la conso mémoire du linker ça dit quoi ?
Damien Marchal
@damienmarchal
@fredroy, @epernod
Est-ce que vous pourriez me faire une copie d'écran de votre outil de dev quand il affiche une erreur de link svp ?
erik pernod
@epernod
hello, non en fait encore une fausse indication de visual. En fait il y avait un soucis de lib externe a la toute premiere erreur. version de newmat differente et apres cascade d'erreur heap
Damien Marchal
@damienmarchal
Ha mince c'est ambigu ma question...je parlais d'avoir un screenshot d'une erreur au linkage du genre undefined symbole sur un machin méga-templaté
rien à voir avec le pb remonté par fred d'out of mem
Je voudrais voir si il y a que sous linux que c'est moche
ou si c'est aussi moche coté win/macos
erik pernod
@epernod
oui j'avais compris, les messages se sont croisés
ok mais je ne sais pas qd j'en aurai
Damien Marchal
@damienmarchal
commente la définition d'une fonction dans un .h pour ne garder que la déclaration ça devrait aller vite (mais je suis d'accord que c'est pas top priorité) :)
Ha mais en fait pas besoin j'ai trouvé ce que je cherchais :)
erik pernod
@epernod
ok
erik pernod
@epernod
tant mieux j'avais pas specialement envi de saccager mon build :)
cool ma fille s'endort plus facilement sur du vieux rock des années 80 que sur des berceuses! je vais pouvoir survivre :)
Frederick Roy
@fredroy
bonne education
erik pernod
@epernod
bon ca reste des slows mais c'est toujours mieux qu'une berceuse en boucle dans les oreilles pour debugger du sofa... un coups a devenir fou :smile:
Hugo
@hugtalbot
cool ma fille s'endort plus facilement sur du vieux rock des années 80 que sur des berceuses! je vais pouvoir survivre :)
:joy:
Damien Marchal
@damienmarchal
le linker de base avec l'option --color-diagnostic=always: https://pasteboard.co/JDm0bH8.png
Le même en version pimp_your_link: https://pasteboard.co/JDm0UwW.png
Le fichier de config correspondant largement inspiré de css:
{
        "space" : ({}, 100),
        "ns-separator" : ({}, 100),
        "message" : ({"color":"red", "font":"bold"}, 100),
        "separator" : ({ "color" : "white", "font": "normal"}, 100),
        "type"    : ({"color":"yellow"}, 10),
        "parameters" : ({"color":"blue", "font":"italic"}, 2),
        "default" : ({ "color" : "green" , "font": "underline"}, 0)
}
Hugo
@hugtalbot
où mets tu ça ?
Damien Marchal
@damienmarchal
j'attend des applaudissement nourris pour cette contribution à l'humanité là.
Hugo
@hugtalbot
:clap: :clap: :clap: :clap:
Damien Marchal
@damienmarchal
c'est dans pimp your code, outil développé cette nuit
Hugo
@hugtalbot
^^
Damien Marchal
@damienmarchal
parceque j'en avais marre de lire les outputs sur le CI du genre 4000 lignes de:
(.text._ZNK4sofa9component7mapping29HexahedronCompositeFEMMappingINS_4core7MappingINS_11defaulttype14StdVectorTypesINS5_3VecILj3EdEES8_dEES9_EEE8getClassEv[_ZNK4sofa9component7mapping29HexahedronCompositeFEMMappingINS_4core7MappingINS_11defaulttype14StdVectorTypesINS5_3VecILj3EdEES8_dEES9_EEE8getClassEv]+0x159a): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > sofa::core::Mapping<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double>, sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double> >::shortName<sofa::component::mapping::HexahedronCompositeFEMMapping<sofa::core::Mapping<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double>, sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double> > > >(sofa::component::mapping::HexahedronCompositeFEMMapping<sofa::core::Mapping<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double>, sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double> > > const*, sofa::core::objectmodel::BaseObjectDescription*)'
modules/SofaNonUniformFem/CMakeFiles/SofaNonUniformFem.dir/src/SofaNonUniformFem/HexahedronCompositeFEMMapping.cpp.o:HexahedronCompositeFEMMapping.cpp:(.text._ZN4sofa4core13ObjectCreatorINS_9component7mapping29HexahedronCompositeFEMMappingINS0_7MappingINS_11defaulttype14StdVectorTypesINS6_3VecILj3EdEES9_dEESA_EEEEE8getClassEv[_ZN4sofa4core13ObjectCreatorINS_9component7mapping29HexahedronCompositeFEMMappingINS0_7MappingINS_11defaulttype14StdVectorTypesINS6_3VecILj3EdEES9_dEESA_EEEEE8getClassEv]+0x2c3): more undefined references to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > sofa::core::Mapping<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double>, sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double> >::shortName<sofa::component::mapping::HexahedronCompositeFEMMapping<sofa::core::Mapping<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double>, sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double> > > >(sofa::component::mapping::HexahedronCompositeFEMMapping<sofa::core::Mapping<sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double>, sofa::defaulttype::StdVectorTypes<sofa::defaulttype::Vec<3u, double>, sofa::defaulttype::Vec<3u, double>, double> > > const*, sofa::core::objectmodel::BaseObjectDescription*)' follow
collect2: error: ld returned 1 exit status
la bonne question maintenant c'est faire une PR pour le linker ou faire une PR pour qtcreator
L'intérêt de faire via qtcreator c'est qu'on peut utiliser le modèle de code de qtcreator pour faire encore plus de truc youkaidi youkaida
(comme le remplacement des nom à la con comme std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > par std::string)
donc si je veux juste avoir une coloration syntaxe de luxe c'est une PR pour le linker,
si je veux en plus pouvoir revenir à ce qui est écrit dans le code alors il faut passer qtcreator
ou alors utiliser clang-model peu-être
BONNEVALLE Vincent
@n3f4s
Je pense que le remplacement des noms longs dû aux templates est pas possible sans modifier le compilateur (à moins de fournir à la main une table de traduction nom complet -> alias).
Damien Marchal
@damienmarchal
avec un peu de chance on peu chopper via clangd => https://clangd.llvm.org/
mais à part ça oui il faut soit un modèle de code qqpart,
et même avec un modèle de code le choix du nom cours va forcément être basé sur une heuristique
sans y avoir réfléchi plus que ça je pensais une heuristique du genre je prend l'alias le plus utilisé.
tout ça évidemment pour ne pas avoir à modifier le compilo ou l'ABI
(sinon c'est trop facile)
mais je confirme ce que tu dis @n3f4s que c'est pas facile le remplacement par des nom cours.
Damien Marchal
@damienmarchal
par contre coloriser correctement la chaine démanglé pour faire ressortir le nom de la fonction, les paramètres, valeur de retour etc...ça c'est jouable (là je le fais à la moche avec des regex en carton)
Du coup sur VS c'est mieux fait ?
l'output du linker ?
zut j'espérait que clangd aurait au moins un front-end en ligne de commande :)
Damien Marchal
@damienmarchal
en fait non, faut faire des appel à clang via du json-rpc. On va dire que c'est vendredi.
Damien Marchal
@damienmarchal
Au fait @n3f4s, tu avais indiqué ton intérêt pour mettre un peu les mains dans le code de Sofa, as-tu trouvé un bout qui t'intéresse ?
BONNEVALLE Vincent
@n3f4s

J'ai pas regardé comment les outils et lib autour de clang (ou d'autres compilateurs) marchent mais j'aurais tendance à dire que les compilateurs suppriment les alias très tôt dans la chaine de compilation et que c'est de là que viennent les problèmes de message d'erreur

Je suis en train de parcourir le code et les issues sur github (pour SOFA). Pour l'instant j'avoue ne pas trop savoir par où commencer :). Je suis en train de chercher un issue auquel je puisse contribuer mais j'ai du mal à voir lesquelles me sont accessible actuellement (niveau difficulté et avec mon manque de connaissance du code).