Closed pierricgimmig closed 1 week ago
Hi @pierricgimmig
Thanks for your feedback.
This is not a bug, but intended. The default binary compatibility compatibility.py
implements binary compatibility across different compiler.cppstd
values, so if there is no existing binary for cppstd=17 it can fallback to an existing cppstd=14.
If you want to force the build of the cppstd=17 it is possible:
--build="abseil/*"
to force the buildcompatibility.py
plugin and add exclusions there for the packages you want. Recall you can manage the compatibility.py
plugin as any other user configuration with conan config install
or conan config install-pkg
.abseil
recipe, (you maintain a fork of conan-center-index recipe), you can use the extension_properties
to exclude it from the default cppstd binary compatibility: See https://docs.conan.io/2/reference/conanfile/attributes.html#extension-propertiesPlease try that and let us know.
Hi @memsharded , thanks for the detailed answer. Running with build="abseil/*"
does indeed fix the issue, thank you!
Nice, happy to help.
I am closing the ticket then as solved, but feel free to re-open or create new tickets if there are any further question or issues. Thanks for the feedback!
Describe the bug
I'm trying to install the
abseil
package, I'm hoping that my default profile'scompiler.cppstd=17
will be respected, but it's not.Running
conan install . -of build --build=missing
gives me:
It seems that an
abseil
package withcompiler.cppstd=14
is chosen. I would have expectedabseil
to compile from source using my specifiedcompiler.cppstd=17
instead, is this expected? I need cpp 17 so thatabseil
compiles withstd::string_view
support. The code below won't compile without it. Thanks for your help.Windows 11, conan 2.8.1
How to reproduce it
CMakeLists.txt
conanfile.txt
main.cpp
then run
conan install . -of build --build=missing