Impossible de build Poco.sln

Discussions sur le développement de Yadoms
Répondre
nevaram
Messages : 15
Enregistré le : 21 décembre 2017, 19:24

Impossible de build Poco.sln

Message par nevaram »

Bonjour,

Pouvez-vous m'aider sur ce point, je n'ai pas du tout l'habitude de dev en C++, c'est surement un problème con, mais je bloque.

Comme indiqué ici je cherche à builder Poco.sln avec VS2017. Cela a fonctionné une premiere fois en debug, puis les fois suivantes (en release ou debug) j'ai le message suivant:

Code : Tout sélectionner

2>------ Build started: Project: Foundation, Configuration: Release Win32 ------
2>Building Custom Rule D:/Workspaces/Libs/poco-1.8.0.1-all/Foundation/CMakeLists.txt
2>CMake does not need to re-run because D:/Workspaces/Libs/poco-1.8.0.1-all/Foundation/CMakeFiles/generate.stamp is up-to-date.
2>Generating pocomsg.h
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 87.
2>Done building project "Foundation.vcxproj" -- FAILED.
Avatar du membre
sgallou
Messages : 128
Enregistré le : 25 avril 2017, 09:56

Re: Impossible de build Poco.sln

Message par sgallou »

Bonjour,

je vais regarder de mon côté (il me faut un peu de temps). Quelle version de Poco avez-vous téléchargé ? La dernière (1.8.0.1-all) ?
Avatar du membre
sgallou
Messages : 128
Enregistré le : 25 avril 2017, 09:56

Re: Impossible de build Poco.sln

Message par sgallou »

Ca me fait penser que les dernières versions de Boost posent problème sous Windows, car le type d'architecture (x32 ou x64) a été ajouté dans le nom de libs générées, et CMake ne reconnait pas ces noms lors de la génération de Yadoms.
En attendant que CMake soit aligné, il convient de prendre la version 1.64 de Boost.

C'est sur qu'avec un gestionnaire de package, ça serait plus simple, tout ça se ferait tout seul...

Sébastien
jmb42
Messages : 24
Enregistré le : 25 avril 2017, 11:07

Re: Impossible de build Poco.sln

Message par jmb42 »

Bonjour,

Je vous confirme que Poco 1.8.0.1-all n'est pas utilisable actuellement pour Yadoms. Les versions 1.7.8-all ou 1.7.8p2-all sont fonctionnelles chez moi. Vous les trouverez ici.

De même Visual Studio 2017 Community est fonctionnel, ainsi que 2015 Community (j'utilise également les 2).

Nous vous laissons essayer ces versions, et nous indiquer si vous avez réussi à compiler Poco.

Jean-Michel
Avatar du membre
sgallou
Messages : 128
Enregistré le : 25 avril 2017, 09:56

Re: Impossible de build Poco.sln

Message par sgallou »

Bonjour,

pour information, je viens d'essayer la méthode du wiki avec la toute dernière version de Poco (1.8.1) et Visual 2017, et ça s'est bien passé.

Sébastien
nevaram
Messages : 15
Enregistré le : 21 décembre 2017, 19:24

Re: Impossible de build Poco.sln

Message par nevaram »

Bonjour,

Me revoilà, deux ans plus tard, pour une nouvelle tentative.

J'avais laissé tombé parce que j'avais me besoin de MySensors et je n'avais pas les compétences pour développer un plugin moi même. Mais depuis je n'ai plus de devices MySensors, j’espère que cette fois ci sera la bonne ;)

J'essaye de build sous windows, et je rencontre le probleme suivant :

Code : Tout sélectionner

 Find POCO version : 1.0.1 and required at least : 1.7.3
Sauf que la dernière version est la 1.10.1. Il semblerait que ça vienne de la regex qui modifie le n° de version :

Code : Tout sélectionner

file (STRINGS "${POCO_DIR_SEARCH}/VERSION" POCO_VERSION_FULL )
string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+.*$" "\\1" CPACK_PACKAGE_VERSION_MAJOR ${POCO_VERSION_FULL})
string(REGEX REPLACE "[0-9]+\\.([0-9])+\\.[0-9]+.*$" "\\1" CPACK_PACKAGE_VERSION_MINOR ${POCO_VERSION_FULL})
string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" CPACK_PACKAGE_VERSION_PATCH ${POCO_VERSION_FULL})

set(POCO_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
car si je remplace par un set(POCO_VERSION "1.10.1") ça fonctionne (enfin ça plante plus loin, mais c'est une autre histoire).

Est-ce que ce n'est qu'un problème de détection de version, où est-ce que cette version de Poco n'est pas compatible ?
Avatar du membre
sgallou
Messages : 128
Enregistré le : 25 avril 2017, 09:56

Re: Impossible de build Poco.sln

Message par sgallou »

Bonjour,

il est vrai que nous n'avons pas testé cette nouvelle version de Poco. Merci pour la remontée de l'information.
En attendant une correction, vous pouvez essayer avec Poco 1.9.4, celle-ci nous l'utilisons et savons qu'elle fonctionne.

Sébastien
nevaram
Messages : 15
Enregistré le : 21 décembre 2017, 19:24

Re: Impossible de build Poco.sln

Message par nevaram »

Pour info, en forçant le n° de version, le script continu, mais ça bloque désormais sur l’erreur suivante :

Code : Tout sélectionner

yadoms\projects\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1,10): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory 
J'essaye de passer sur la version 1.9.4
Avatar du membre
sgallou
Messages : 128
Enregistré le : 25 avril 2017, 09:56

Re: Impossible de build Poco.sln

Message par sgallou »

Bonjour,

j'ai corrigé le problème de détection de version de Poco sur la branche develop(voir ce commit).

Pour votre problème, je ne vois pas immédiatement d'où ça pourrait venir, j'ai donc quelques questions :
  • Quelles versions d'outils utilisez vous (CMake, Visual Studio...) ?
  • Dans Visual Studio, avez-vous défini yadoms comme projet de démarrage (dans l'explorateur de solutions, clic-droit sur yadoms, et 'définir comme projet de démarrage')
  • Quelle configuration utilisez-vous (de mon côté, j'ai sélectionné "Win32", et "Debug") ?
  • Cette erreur vient-elle de cmake ou de la compilation ? (au besoin, envoyez moi par MP le log complet de la compilation)
Sébastien
Répondre