Yes, we use OCIO extensively, and by coincidence, for the last couple releases, 
I've been the one who builds OCIO at my facility, and I'm 100% sure that the 
current releases of OCIO and OIIO work fine together. If they didn't, our 
production builds would come to a screeching halt.

I'm as frustrated by the OpenVDB situation as you are, but you should know that 
it will definitely be fixed for OpenVDB 9. There is work in progress to address 
the problem. (And I'm told that OpenEXR is an *optional* dependency for 
OpenVDB, so it was not strictly needed if you use the right build flags.)

For the sake of explaining how reasonable people can still create these 
fiascos, let me give some details on how OpenEXR + OpenVDB got into this pickle:

These projects may be under the same organization, and even have some 
individual developers who participate in coding for both projects, but they 
aren't on the same release schedule. OpenEXR was supposed to release 3.0 in 
early Fall 2020, but the release got delayed, dragged on, and it missed the 
deadline to be included in the VFX Reference Platform 2021, which instead 
stayed with OpenEXR 2.4 for its 2021 recommendation. Most of the VFX world, 
therefore, kind of ignored OpenEXR 3.0 because they really couldn't use it, 
since it was incompatible with the version 2.4 they were forced to use with the 
big DCC apps. OpenVDB, busy people that they are, continued to CI test and 
ensure that they were working with the VFX Platform recommended versions of 
their dependencies, but not other versions that their clients weren't using. 
(Understandable, though in retrospect, perhaps short sighted.)

It was only in late summer 2021 that VFX Platform confirmed that for 2022, 
their OpenEXR recommendation would be bumped to 3.1, and then suddenly OpenVDB 
got surprised because they had been busy and had never quite gotten around to 
building support for the *not VFX Platform recommended* OpenEXR 3.x, and they 
had sinc released OpenVDB 8.0 and 8.1 that were not prepared to build against 
OpenEXR 3.x when everybody started wanting to switch to it because of the new 
VFX Platform recommendation. Now they're scrambling so that the recommended 
2022 OpenVDB (the forthcoming 9.0) will definitely play nice with the 2022 
recommended OpenEXR (3.1).

Now, sorry my friends, but I think this was a big blunder for OpenVDB to not 
have CI tests all along against the *latest* releases of all their 
dependencies, even if those are more recent that the current VFX Platform 
recommendation. Lessons learned, ok?

OIIO and OSL test against the last several VFX Platform configurations, but our 
CI also tests specifically against the latest released versions of our major 
dependencies, as well as a "bleeding edge" test where we build against the 
top-of-tree master of some of the most critical dependencies. So we can never 
be surprised by a new release of the most important dependencies, we will have 
found and fixed any such problems months before their releases. (The downside 
is that sometimes this bleeding edge test fails spuriously when bugs are 
checked into the development branches of those projects. In fact, that test is 
broken at the moment because of a problem with OpenEXR, though a fix is under 
review now and awaiting a merge, so I expect the test to pass again in the next 
few days.)

Anyway, like I was saying, there was a brief dance of coordination when after 
we released the OIIO in which we eliminated the redundant symbols (thus 
necessitating explicit linkage of libOpenImageIO_Util in certain cases where it 
coincidentally had worked before), the existing release of OpenColorIO would 
not have built against it properly. I think that has since been fixed, but I'm 
not 100% sure in which releases. But I know they are aware of these problems on 
the OCIO side -- we are all in frequent contact with each other.

        -- lg


> On Oct 3, 2021, at 4:54 PM, Richard Shaw <[email protected]> wrote:
> 
> On Sun, Oct 3, 2021 at 6:22 PM Larry Gritz <[email protected] 
> <mailto:[email protected]>> wrote:
> Sorry to dribble this out over multiple emails.
> 
> The entire build log you linked to below is a build of OCIO, not OIIO. They 
> will know better how to diagnose the problem with their build.
> 
> Sorry, my intent was to see if there was poor communication before posting an 
> issue with OCIO.
> 
> There was only one version in place, this is a distro level build, not 
> something performed on my computer, so your 2nd email may be the cause.
> 
> My point is that OIIO and OCIO are coupled and that changes in either should 
> be coordinated. And this is not unique to OIIO.
> 
> When OpenEXR was updated and Imath separated, OpenVDB was not updated at the 
> same time to be compatible, which is ironic as they are both ASWF controlled. 
> I actually manually ported OpenVDB to OpenEXR/Imath 3, which was later 
> accepted. My point is that it should not have been necessary.
> 
> Upstreams of known dependencies should talk to each other. As a package 
> maintainer finding these issues is problematic on several levels. 
> 
> API changes often directly impact maintainers quality of life and it's 100% 
> preventable. I do this as a volunteer and have devoted 1000s of hours to this 
> endeavor. 
> 
> Sorry, this is not 100% directed at you, actually your insentance on ABI 
> compatibility makes OIIO one of the easier packages to maintain overall but 
> just triggered me in this instance. 
> 
> Thanks,
> Richard
> 
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]




_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to