Opened 2 years ago

Closed 16 months ago

#65662 closed update (fixed)

ilmbase, openexr need update (MP v. 2.3.0, current v. 3.1.7)

Reported by: barracuda156 Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Cc: parafin, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: openexr, ilmbase

Description (last modified by mascguy (Christopher Nielsen))

These two ports have not been updated for quite some time. Current version of both now is 3.1.7.

Change History (19)

comment:1 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:2 Changed 2 years ago by fmw42 (Fred Weinhaus)

I agree. I need OpenEXR 3.x to get the newer DWAA and DWAB compression. Please update this port.

comment:3 Changed 2 years ago by mascguy (Christopher Nielsen)

I've done some initial POC work on this. But it's more involved than just a simple update to all of these ports: For example, it appears (?) that upstream has potentially combined the openexr and ilmbase components. There are also build changes, including migration to CMake.

There may also be breaking API changes, but not yet 100% clear on that. And some dependent ports may not build with the latest release, but again, it's not yet clear.

None of this is insurmountable. But given all of the changes, it might be easier to create new segregated versions. That way existing ports will continue to work as-is, and we can migrate them to the new version as time allows.

But I'd really like to hear from Marcus, as perhaps he's already done much of the legwork on this. Ditto for his thoughts on the potential approach.

comment:4 Changed 2 years ago by JGoldstone (Joseph Goldstone)

I'm on the OpenEXR Technical Steering Committee, and we would really like to help in any way we can; MacPorts has been discussed at more than a few of our biweekly meetings. We'd tried a few times to raise Marcus but never heard anything back. Yes, there has been substantial cleanup with performance improvements the VFX studios have found significant; there have also been a ton of security issues addressed.

There is a biweekly TSC Zoom meeting on alternate Thursdays with the next meeting being tomorrow (Thu 6 Oct); the Zoom URL is https://zoom.us/j/96214953481. We extended an invitation to Marcus to join us and discuss what's needed to move forward; if any of you would show up then, we'd be happy to answer any questions and help chart a way forward. As we are discussing how to formalize definitions of ABI stability, your thoughts would be very welcome.

[added 28 Oct 2022] The rationale for the splitting off of Imath and its Python bindings, and absorption of Iex and IlmThread into OpenEXR itself, can be found here: https://github.com/AcademySoftwareFoundation/Imath/blob/main/docs/PortingGuide2-3.md.

And the next OpenEXR TSC meeting is on Thursday 3 November; the Zoom URL above is unchanged. Anyone is welcome as a drop-in but if we know you are coming we can refresh ourselves on the state of the OpenEXR port and allocate a goodly chunk of time for you.

Last edited 2 years ago by JGoldstone (Joseph Goldstone) (previous) (diff)

comment:5 Changed 2 years ago by parafin

Cc: parafin added

comment:6 Changed 19 months ago by JGoldstone (Joseph Goldstone)

FYI, in the OpenEXR installation instructions, the OpenEXR TSC has now deprecated installation via MacPorts because it is so out of date.

Discounting release candidate tags, and 2.x back port releases after we moved on to 3.x, the MacPorts port of OpenEXR is at least 25 versions behind the current release. Our installation instructions for macOS now explicitly recommend Homebrew; see https://github.com/AcademySoftwareFoundation/openexr/pull/1382/files.

The invitation is still open for you to show up at our biweekly TSC meetings and suggest how we might make the situation better.

Last edited 19 months ago by JGoldstone (Joseph Goldstone) (previous) (diff)

comment:7 in reply to:  6 Changed 19 months ago by mascguy (Christopher Nielsen)

Replying to JGoldstone:

Discounting release candidate tags, and 2.x back port releases after we moved on to 3.x, the MacPorts port of OpenEXR is at least 25 versions behind the current release. Our installation instructions for macOS now explicitly recommend Homebrew; see https://github.com/AcademySoftwareFoundation/openexr/pull/1382/files.

Back in October 2022, I was working on adding a new port - openexr3 - which is segregated from openexr. That will allow v2.x and v3.x to coexist, avoiding the issues associated with any potential incompatibilities, etc. (I had to temporarily step away from MacPorts due to personal and professional obligations, but hopefully those are now behind me.)

So with any luck, I'll be able to tackle this over the next few weeks.

comment:8 Changed 19 months ago by mascguy (Christopher Nielsen)

Cc: MarcusCalhoun-Lopez added; mascguy removed
Description: modified (diff)
Owner: changed from MarcusCalhoun-Lopez to mascguy
Summary: ilmbase, openexr need update (MP v. 2.3.0, current v. 3.1.5)ilmbase, openexr need update (MP v. 2.3.0, current v. 3.1.7)

comment:9 Changed 19 months ago by Christopher Nielsen <mascguy@…>

comment:10 Changed 19 months ago by mascguy (Christopher Nielsen)

Joseph/All, the new openexr3 port I added last night, may still need some further refinement. The next step is to identify a dependent port that can utilize it, update use it, and see if all is well.

Nonetheless, it's a big step in the right direction!

Going forward, hopefully at least one of us - either Marcus or myself - will be able to start engaging with you folks more directly. But stay tuned on all of this, and thank you for not giving up on us!

Version 0, edited 19 months ago by mascguy (Christopher Nielsen) (next)

comment:11 Changed 19 months ago by mascguy (Christopher Nielsen)

Update for interested parties: We still need to create another port, for imath. I'm hoping to tackle that within the next week or so, barring any personal or work emergencies.

And thanks to the Darktable folks for the heads-up!

https://github.com/darktable-org/darktable/pull/12599#issuecomment-1514614338

comment:12 in reply to:  10 ; Changed 18 months ago by JGoldstone (Joseph Goldstone)

Replying to mascguy:

Joseph/All, the new openexr3 port I added last night, may still need some further refinement. The next step is to identify a dependent port that can utilize it, update to use it, and see if all is well.

Nonetheless, it's a big step in the right direction!

Going forward, hopefully at least one of us - either Marcus or myself - will be able to start engaging with you folks more directly. But stay tuned on all of this, and thank you for not giving up on us!

All of this is a huge step forward.

I'd recommend OpenImageIO as your test case. Larry Gritz, the architect and primary developer, is a portability genius; he's also on the OpenEXR Technical Steering Committee.

Our next meeting is tomorrow, May the Fourth [kind of appropriate since Cary Philips chairs the meetings and he's from ILM]. The zoom link is unchanged from above.

I think everyone who is responsible for the modern build process of Imath and OpenEXR is a regular attendee (the other key person is Kimball Thurston of Wētā, who oversaw the transition from autotools to cmake, and he's usually present as well. If you don't make the meeting tomorrow, the next one is in two weeks. We'd love to hear from you in person what it's like to teach a macOS package manager how to build OpenEXR [and soon Imath I hope].

comment:13 in reply to:  12 ; Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to JGoldstone:

I think everyone who is responsible for the modern build process of Imath and OpenEXR is a regular attendee (the other key person is Kimball Thurston of Wētā, who oversaw the transition from autotools to cmake, and he's usually present as well. If you don't make the meeting tomorrow, the next one is in two weeks. We'd love to hear from you in person what it's like to teach a macOS package manager how to build OpenEXR [and soon Imath I hope].

Sounds great! It may take a few days before I'm able to add a port for Imath, and test with OpenImageIO. So I'll try to find time to work on all of this over the next week, and report back in time for the meeting in two weeks. More to follow!

Last edited 18 months ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:14 Changed 18 months ago by Christopher Nielsen <mascguy@…>

comment:16 in reply to:  13 ; Changed 18 months ago by JGoldstone (Joseph Goldstone)

Spoke with Larry Gritz re: using OpenImageIO as a test case for openexr3 and imath3. He's very pleased with openexr/imath being modernized; and about OpenImageIO said three things: (1) "Looks like the macports openimageio is a couple major releases behind. Would be great to help them get that caught up as well" (2) if you need to contact him, info@… works and (3) OpenImageIO has just been accepted as a full-status project by the Academy Software Foundation, at the same level as OpenEXR, OpenColorIO, etc.

So your work is very, very timely.

comment:17 in reply to:  16 ; Changed 18 months ago by mascguy (Christopher Nielsen)

Update: Marcus has created a PR to update many of our ports to use OpenEXR 3 - including openimageio - with only a small number still requiring OpenEXR 2.

18564 - openexr: 3.1.7 update; new openexr2 port; revbumps

Once this has been merged - and we're hoping to do so within the next few days, barring any unforeseen issues - we'll tackle updating openimageio to the latest version.

Making great progress!

comment:18 in reply to:  17 Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to mascguy:

Update: Marcus has created a PR to update many of our ports to use OpenEXR 3 - including openimageio - with only a small number still requiring OpenEXR 2.

18564 - openexr: 3.1.7 update; new openexr2 port; revbumps

This work was just merged, via the following commit:

https://github.com/macports/macports-ports/commit/2e7dfc4807671990183789031214adf61f48ed72

comment:19 Changed 16 months ago by mascguy (Christopher Nielsen)

Resolution: fixed
Status: assignedclosed

Thanks to Marcus, many ports are now using OpenEXR 3, and things look good overall. Closing as fixed.

Note: See TracTickets for help on using tickets.