Re: macOS - Makefile generation error on master

Larry Gritz

Aha, yes, I know this combination of bugs!

Bug #1: Imath 3.0.3 was the same as 3.0.2 -- just retagged to keep its version in sync with openexr, which really did have a change necessitating a 3.0.3. We tagged, but we forgot to bump the version, so the ImathConfigVersion.cmake exported by it still said it was 3.0.2.

Bug #2: OpenImageIO's exported OpenImageIOTargets.cmake, in doing the find_dependency() call for Imath, accidentally expanded @OpenEXR_VERSION@ instead of @Imath_VERSION@ -- which until that point, in my testing were always identical, so I didn't notice.

Consequence: Something downstream, like OSL, that consumes OIIO's exported cmake configs, would see a requirement for Imath 3.0.3 (the exr version) even though the Imath itself declared itself to be 3.0.2, and thus would reject it as "too old a version."


It was backported to RB-2.2, but since I hadn't heard anybody else report this problem, I did not push out an emergency release. It would ordinarily be scheduled for the monthly patch release on Jun 1.

You can build OIIO master or RB-2.2 from source if you want, or if you need me to, I canl push out an emergency that contains only this fix, if you can't wait until Jun 1.

On May 28, 2021, at 5:44 AM, Patrick Hodoul <patrick.hodoul@...> wrote:

I found something.

brew install imath version 3.0.3, and OpenImageIO version looks for Imath 3.0.3 so, everything seems fine.

If I change the OSL file ./src/cmake/externalpackages.cmake to add an explicit request to find Imath version 3.0, the library found is Imath version 3.0.2 !!
And OpenImageIO is only looking for Imath 3.0.3 (Refer to "/usr/local/lib/cmake/OpenImageIO/OpenImageIOConfig.cmake").

The Imath version is 3.0.3 but the Imath file "/usr/local/Cellar/imath/3.0.3/include/Imath/ImathConfig.h" indicates version 3.0.2 !! 

Larry Gritz

Join to automatically receive all group messages.