Open Croydon opened 1 week ago
Failure in build 1 (284b81bc3234d2f4d45e9b1ee9d8c1bf0cbaeb7b
):
conan export recipes/cmake/3.x.x/conanfile.py cmake/cci.3.29.6@
:
[HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
[HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
[HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
[HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
[HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
[HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
[HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 10.4482421875 KB
[HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
[HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
[HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
[HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
[HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
[HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
[HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
[HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
[HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
[HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
[HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
[HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
[HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
[HOOK - conan-center.py] pre_export(): [NOT ALLOWED ATTRIBUTES (KB-H039)] OK
[HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
[HOOK - conan-center.py] pre_export(): [NO FINAL ENDLINE (KB-H041)] OK
[HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
[HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
[HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
[HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
[HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
[HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
[HOOK - conan-center.py] pre_export(): [PRIVATE IMPORTS (KB-H053)] OK
[HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
[HOOK - conan-center.py] pre_export(): [TOOLS RENAME (KB-H057)] OK
[HOOK - conan-center.py] pre_export(): [ILLEGAL CHARACTERS (KB-H058)] OK
[HOOK - conan-center.py] pre_export(): [CLASS NAME (KB-H059)] OK
[HOOK - conan-center.py] pre_export(): [NO CRLF (KB-H060)] OK
[HOOK - conan-center.py] pre_export(): [NO BUILD SYSTEM FUNCTIONS (KB-H061)] OK
[HOOK - conan-center.py] pre_export(): [TOOLS CROSS BUILDING (KB-H062)] OK
[HOOK - conan-center.py] pre_export(): [INVALID TOPICS (KB-H064)] OK
[HOOK - conan-center.py] pre_export(): [NO REQUIRED_CONAN_VERSION (KB-H065)] OK
[HOOK - conan-center.py] pre_export(): [TEST_TYPE MANAGEMENT (KB-H068)] OK
[HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO DEFAULT OPTIONS (KB-H069)] OK
[HOOK - conan-center.py] pre_export(): [MANDATORY SETTINGS (KB-H070)] OK
[HOOK - conan-center.py] pre_export(): [PYLINT EXECUTION (KB-H072)] OK
[HOOK - conan-center.py] pre_export(): [REQUIREMENT OVERRIDE PARAMETER (KB-H075)] OK
[HOOK - conan-center.py] pre_export(): [NO DANGLING PATCHES (KB-H078)] OK
WARN: *** Conan 1 is legacy and on a deprecation path ***
WARN: *** Please upgrade to Conan 2 ***
[HOOK - conan-center.py] pre_export(): WARN: [FPIC OPTION (KB-H006)] This recipe does not include an 'fPIC' option. Make sure you are using the right casing
[HOOK - conan-center.py] pre_export(): ERROR: [CONFIG.YML HAS NEW VERSION (KB-H052)] The version "3.24.3" exists in "conandata.yml" but not in "../config.yml", so it will not be built. Please update "../config.yml" to include newly added version "3.24.3". (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H052-CONFIG.YML-HAS-NEW-VERSION)
[HOOK - conan-center.py] pre_export(): ERROR: [CONFIG.YML HAS NEW VERSION (KB-H052)] The version "3.25.2" exists in "conandata.yml" but not in "../config.yml", so it will not be built. Please update "../config.yml" to include newly added version "3.25.2". (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H052-CONFIG.YML-HAS-NEW-VERSION)
[HOOK - conan-center.py] pre_export(): ERROR: [CONFIG.YML HAS NEW VERSION (KB-H052)] The version "3.26.4" exists in "conandata.yml" but not in "../config.yml", so it will not be built. Please update "../config.yml" to include newly added version "3.26.4". (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H052-CONFIG.YML-HAS-NEW-VERSION)
ERROR: [HOOK - conan-center.py] pre_export(): Some checks failed running the hook, check the output
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Note: Conan v2 builds are now mandatory. Please read our discussion about it.
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians
on the PR and we will help you.
Failure in build 1 (284b81bc3234d2f4d45e9b1ee9d8c1bf0cbaeb7b
):
cmake/cci.3.29.6: CI failed to create some packages (All logs)
0eb69b6164bc11268dd0b9bb3d6e4e97815cdcb9
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Failure in build 2 (cabe36d15d5b687bb1efe799b31c974437a68b91
):
cmake/cci.3.29.6: CI failed to create some packages (All logs)
e7b507cdc0b6561b29915e6236a00ca0847fe1c8
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Note: Conan v2 builds are now mandatory. Please read our discussion about it.
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians
on the PR and we will help you.
Failure in build 2 (cabe36d15d5b687bb1efe799b31c974437a68b91
):
cmake/cci.3.29.6: CI failed to create some packages (All logs)
0eb69b6164bc11268dd0b9bb3d6e4e97815cdcb9
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Failure in build 3 (b769c94bbe609d75322f55e87ca02914f49bf4fe
):
cmake/cci.3.29.6: CI failed to create some packages (All logs)
e7b507cdc0b6561b29915e6236a00ca0847fe1c8
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Note: Conan v2 builds are now mandatory. Please read our discussion about it.
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians
on the PR and we will help you.
Failure in build 3 (b769c94bbe609d75322f55e87ca02914f49bf4fe
):
cmake/cci.3.29.6: CI failed to create some packages (All logs)
0eb69b6164bc11268dd0b9bb3d6e4e97815cdcb9
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Failure in build 4 (80c87174f4c39b129a3932d70bc6aa5c9cd1200c
):
cmake/cci.3.26.4: CI failed to create some packages (All logs)
e7b507cdc0b6561b29915e6236a00ca0847fe1c8
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Note: Conan v2 builds are now mandatory. Please read our discussion about it.
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians
on the PR and we will help you.
Failure in build 4 (80c87174f4c39b129a3932d70bc6aa5c9cd1200c
):
cmake/cci.3.26.4: CI failed to create some packages (All logs)
0eb69b6164bc11268dd0b9bb3d6e4e97815cdcb9
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Failure in build 5 (b6767ec149f46ac7c76e7fd9c53b9bd9d0487fd4
):
cmake/cci.3.26.4: CI failed to create some packages (All logs)
e7b507cdc0b6561b29915e6236a00ca0847fe1c8
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Note: Conan v2 builds are now mandatory. Please read our discussion about it.
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians
on the PR and we will help you.
Failure in build 5 (b6767ec149f46ac7c76e7fd9c53b9bd9d0487fd4
):
cmake/cci.3.26.4: CI failed to create some packages (All logs)
0eb69b6164bc11268dd0b9bb3d6e4e97815cdcb9
:Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.
Quick feedback regarding cci
versions: ConanCenter will no longer be accepting these as a major digit when existing numeric versions exists, because they break the version ordering, the version ranges and other things like conan graph outdated
.
It will be possible with a new versioning approach that adds cci
as a minor digit, like 1.2.3.cci.DDDD
to add cci versions that happen after 1.2.3
for example, because the repo stopped doing numbered releases. This is not the case for this repo, so the cci
versioning approach wouldn't be valid for this case.
The current binary CMake recipe still provides several benefits over the source variant and the binaries we would be generating for it.
The above points are true for all “tool” recipes currently in Conan Center and built for Conan 2 - however we need to consider the usage of the cmake recipe is much more widespread, so we ought to be more careful.
The points above mean that if the current source recipe were to be the default, users would still experience missing binaries quite frequently, having to build them from source, not only for new versions of CMake, but also whenever there are updates to zlib or openssl. We want to avoid this - if we can save users time, we should.
We do not want users to have to be building CMake from source unnecessarily - our focus is currently on the user experience of recipe/package consumers, and for the most part the current binary recipe has been working well for this - albeit with the major caveat of not working outside of supported configurations.
There are also other issues with the source variants that we have seen:
As well as recipe maintainability issues:
While I appreciate the PR as it stands adds it as a new version that would fall outside the version range that is expressed elsewhere in Conan Center, we will not be adding the source versions back just yet. In particular, having two competing versioning schemes has downsides - we very much want users to be able to require the “latest”, e.g. cmake/[*]
, and cci.
would evaluate as newer - we’re already having issues with libraries that have gone from cci to something else, or from versions to cci.
- we need to rethink the strategy for those cases moving forward.
Will otherwise accept fixes to the “source” recipe, such that it actually builds on Linux, or to add new versions, but will not be building this on CI just yet or publishing binaries for it.
This is still very much in our radar - once we deploy our new CI pipeline, as well as allowing recipes that support Conan 2 only, we will have look into bringing this back - we want a user experience that is equivalent to what the binary recipe provides (binaries that work without conflicts or missing binaries), as well as being able to build it from source in other platforms.
But in the meantime, using the binary recipes has “protected” users from a myriad of problems while we focused our efforts on migrating recipes to support Conan 2.0. Down the line we will also ensure that we have the ability to validate the recipe with different options (so that the bootstrap doesn’t diverge), as well as using an old enough gcc or linking the runtime statically.
As for alternatives in the meantime, if for any reason users do not want to use the Conan-center provided versions for CMake, there are ways to handle this without modifying any other recipes:
[platform_requires]
in the profile (docs) - can be used to tell Conan that the system available cmake should be used instead - on recent enough systems this tends to be the case.[replace_tool_requires]
can be used to redirect cmake/...
to a different dependency, for example if users have ones they have built from source (perhaps with a user/channel)conan remote update --allowed-packages='~cmake/*' conancenter
Hi! My duties have shifted somewhat, and I'm not working directly with Conan at the moment, but I will make the appropriate teams at Datalogics aware of this development.
A few comments in recap:
bootstrap_cmake
package to build CMake. This was a known good CMake package that was stored under a special name that we introduced as a tool_requires
for building CMake. Or, we could use a CMake that was built by hand (tediously, but only once) to be able to make latest CMake from a Conan recipe.So that's what I remember. I'll drop a link to this PR into our company Slack to see if it is of interest to those currently working with Conan.
Thanks for bringing this to my attention, and thanks for Conan!
I think that the decision to re-package binary downloads was a mistake to begin with. Most of the named arguments are also outdated today as they are solved by version ranges.
This PR makes the CMake recipe, that builds from source, again available from the Conan Center remote, under the
cci.
version prefix.Might be of interest to @datalogics-kam (#17032)