conan-io / conan

Conan - The open-source C and C++ package manager
https://conan.io
MIT License
8.3k stars 986 forks source link

[bug] Missing support for MacOS 14.7 #17235

Closed Schwaggot closed 1 month ago

Schwaggot commented 1 month ago

Describe the bug

Updated my MacOS to 14.7, then using conan 2.8.1 I get the following error:

ERROR: Invalid setting '14.7' is not a valid 'settings.os.version' value.
Possible values are ['10.6', '10.7', '10.8', '10.9', '10.10', '10.11', '10.12', '10.13', '10.14', '10.15', '11.0', '11.1', '11.2', '11.3', '11.4', '11.5', '11.6', '11.7', '12.0', '12.1', '12.2', '12.3', '12.4', '12.5', '12.6', '12.7', '13.0', '13.1', '13.2', '13.3', '13.4', '13.5', '13.6', '14.0', '14.1', '14.2', '14.3', '14.4', '14.5', '14.6', '15.0', '15.1']

How to reproduce it

Update MacOS to 14.7 with conan 2.8.1 and run a conan command.

memsharded commented 1 month ago

Hi @Schwaggot

Thanks for your report.

There would be something that I am missing, as Conan by default do not define the os.version. What profile are you using?

Also recall that you can define your settings_user.yml to add any missing version or to extend with any custom settings, so you don't need to wait for a next release to add settings.

Schwaggot commented 1 month ago

I always use

conan profile detect

to set the profile, the resulting one looks like this currently:

cat ~/.conan2/profiles/default 
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=gnu17
compiler.libcxx=libc++
compiler.version=16
os=Macos

To my understanding the issue is that the new MacOS version is not listed in my .conan2/settings.yml which I did not generate myself. Adding 14.7 to the list fixes the issue. Just wanted to make sure this will be fixed in future versions. Also created a PR for it, see https://github.com/conan-io/conan/pull/17236

Schwaggot commented 1 month ago

@memsharded While we are at the topic, there are also entries for sdk_version underneath os -> Macos in the settings.yml, I think there are some versions missing as well there, e.g., there is a SDK 16 by now, see https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes

memsharded commented 1 month ago

Exactly that, the profile that is being detected is not defining os.version at all. If it doesn't define it, Conan shouldn't raise that ERROR: Invalid setting '14.7' is not a valid 'settings.os.version' value. error at all. I'd like to understand where that error is coming from.