Hey, salut tout le monde
Je travaille actuellement sur un projet git en c++. Jusqu'à hier, tout était ok. Je pouvais compiler sans aucun soucis. (Je suis sous Fedora 29). Mais un changement majeur dans le cmake a eu lieu plus tôt dans la journée ... Ma version n'était apparement plus suffisante pour le projet. Du coup, j'ai mis à jour le cmake (et c'est là où j'ai du faire une bêtise). J'ai donc d'abord fais:
sudo dnf remove cmake
Puis, j'ai installé la dernière version de cmake directement téléchargeable sur le site officiel
https://cmake.org/download/ (3.13.1)
Ok, pas de problème, l'installation s'est apparement bien passé. cmake 3.13.1 fonctionne...
Maintenant, je réessaye de compiler le projet et cette erreur apparaît:
/usr/bin/ld: //usr/lib64/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0'
/usr/bin/ld: //usr/lib64/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0'
Voilà, l'erreur plus complète:
[ 69%] Linking CXX executable ../../../../../Build/bin/DecimaterGui
/usr/bin/ld: //usr/lib64/libSM.so.6: undefined reference to `uuid_generate@UUID_1.0'
/usr/bin/ld: //usr/lib64/libSM.so.6: undefined reference to `uuid_unparse_lower@UUID_1.0'
collect2: error: ld a retourné le statut de sortie 1
make[5]: *** [src/OpenMesh/Apps/Decimating/DecimaterGui/CMakeFiles/DecimaterGui.dir/build.make:192: Build/bin/DecimaterGui] Error 1
make[4]: *** [CMakeFiles/Makefile2:814: src/OpenMesh/Apps/Decimating/DecimaterGui/CMakeFiles/DecimaterGui.dir/all] Error 2
make[3]: *** [Makefile:152: all] Error 2
make[2]: *** [CMakeFiles/OpenMesh.dir/build.make:111: OpenMesh-prefix/src/OpenMesh-stamp/OpenMesh-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/OpenMesh.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
Le problème, c'est que quand j'ai fais :
sudo dnf remove cmake
Je suis peut être allé un peu vite. J'ai probablement supprimer d'autres paquets qui étaient utiles ... Apparemment, dnf supprime aussi des paquets dépendants... Je pense que le problème vient de là. Mais ce n'est qu'une hypothèse ...
Je ne sais pas si c'est vraiment utile mais dans le projet, on utilise d'autres projets git comme sous modules (comme OpenMesh, Assimp ...) SI je fais juste un make, alors l'erreur apparaît avec OpenMesh (précisément avec le bin DecimaterGui). Mais si je compile avec make -j 4, alors l'erreur appraît avec d'autres librairies (et d'autres bin évidemment)
J'ai pas mal cherché sur internet, mais impossible de trouver un solution. Ou du moins, une solution à mon problème exactement. Donc, si jamais quelqu'un à des pistes, ça serait vraiment cool !
J'espère avoit été suffisament précis. Merci d'avances pour d'éventuelles réponses.