Replies: 7 comments 10 replies
-
I think that making OCIO a requirement is a good idea. It has been annoying in the past to debug a build of OIIO to find that it is not built with OCIO support. Also, I'm tempted to say that you probably want to make Python 3.9 the minimum, otherwise you're exchanging one unsupported Python version for another. |
Beta Was this translation helpful? Give feedback.
-
One thing to keep in mind when making OCIO a hard dependency, when there's a soname bump in OIIO I have to do a bootstrap build first, because the version of OCIO will try to pull in the previous version of OIIO creating a conflict. I would recommend working with OCIO and figuring out a way to remove the circular dependency first. |
Beta Was this translation helpful? Give feedback.
-
Let me just explain how I'm looking at this philosophically. The decision to raise a dependency is generally hoping for at least one of these benefits:
And we are balancing those benefits against the inconvenience to users if we drop support for a dependency version that for other reasons they are stuck with. |
Beta Was this translation helpful? Give feedback.
-
Generally the compiler/language proposed minimums look fine. However, for the 19.14/MSVS 2019 line, which do you really mean? 19.14 is part of the VS 2017 series of releases, not 2019. The dependency minimums seem fine as well. I don't have access to an environment but is that version of cmake available on rocky8 and friends? |
Beta Was this translation helpful? Give feedback.
-
At least 3.19 for ARM support, please. I get that the time for it is not now, but here's a nice summary of CMake releases, with 3.24 having some (to me) quite appealing features regarding missing dependency resolution. Pull quote:
http://cliutils.gitlab.io/modern-cmake/chapters/intro/newcmake.html Someday. But probably not our 3.0 release, as initial release was of that version (3.24) of CMake was only a year and a half ago. (And perhaps, having never had to write the relevant CMake from scratch myself, "download if missing" workflows aren't all that hard to provide; I really don't know.) But at least 3.19, please. |
Beta Was this translation helpful? Give feedback.
-
In the OIIO TSC meeting of Feb 26, Thiago suggested moving the clang minimum version up more aggressively, to the older of: (a) whatever LLVM version OSL needs, or (b) whatever the clang version is in the rpm package for rhel7/CentOS-7, since that's easy for studio users who will be lagging behind the farthest. Anything older is probably not needed by anybody, and just makes it more difficult for us to test and ensure that we really do work with the very ancient versions. LG suggests that we can do a "soft" minimum where we advertise/document 9.0 (say) as the minimum, and warn in the build for older compilers, but don't purposely cause it to fail. Because it probably still works with older versions, so if we have nothing specific to gain with an enforced hard minimum, why make life hard for user who is stuck with an old version? (This is predicated on the claim that there are few, if any, Action item: LG will check on the CentOS and OSL versions and adjust the table. |
Beta Was this translation helpful? Give feedback.
-
Do we want to add robin-map to the list of dependencies? |
Beta Was this translation helpful? Give feedback.
-
This discussion is for planning which dependency minimums we want to raise for the fall 2024 release. That is, in today's master branch that will be released in the second half of the year. None of this will affect the 2.5 release family.
Core compiler/language compatibility
I would like to propose that this be the year that we make the following major dependency changes as a baseline:
So, first, if any of those are going to seriously be a problem for people (beyond needing to stay on OIIO 2.5 if you require those compatibility levels), please speak up ASAP.
Here are our compiler/language requirements (to the best of our knowledge), and for each one: the OIIO 2.5 minimum version supported, the current (mid-2024) version of that package, the mid-2021 version for reference (i.e., 3 years ago), and a proposal for a reasonable minimum for us to use for the last-2024 OIIO release.
(year)
mid-2024
(VP2021: 17)
(Note: "VP" means "VFX Platform Year".)
Other dependencies
Since we're presumably bumping these core dependency requirements anyway, we should think about what other dependencies to bump, since we're obviously willing to accept some significant dependency disruption.
The following chart of our other direct dependencies gives (to the best of our knowledge), and for each one: the OIIO 2.5 minimum version supported, the current (mid-2024) version of that package, the mid-2021 version for reference (i.e., 3 years ago), and a proposal for a reasonable minimum for us to use for the last-2024 OIIO release.
Please note that none of the proposed new minimums are less than 3 years old.
(year)
mid-2024
3.19 (2020)? = presets, more Cuda, Apple ARM
3.20 (2021)? = icx support, C++23 support
test 2.8 (2017)
and allows other cleanup
allows major cleanup
maybe older?
Discussion / The Ask
Please look over this list carefully
Here is what we would like to hear from stakeholders if you have strong opinions/needs:
Beta Was this translation helpful? Give feedback.
All reactions