Opened 7 months ago

Last modified 7 months ago

#68405 assigned defect

imath @3.1.9: not building Python extension as claimed

Reported by: JGoldstone (Joseph Goldstone) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: imath

Description

The long_description ends with "Imath also includes optional python bindings for all types and functions, including optimized implementations of vector and matrix arrays.", but nothing in the Portfile appears to do so.

I quite like the way that the OpenImageIO Portfile manages to install that library's Python extension (i.e. .so file) in /opt/local/Library/Frameworks/Python.framework/Versions/<python version>/lib/python<python version>/site-packages. Perhaps code could be borrowed from that Portfile to Imath's aid here?

Change History (3)

comment:1 Changed 7 months ago by mascguy (Christopher Nielsen)

Cc: MarcusCalhoun-Lopez added
Owner: set to mascguy
Status: newassigned

Great feedback, we'll take a look. Thanks for the heads-up!

comment:2 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Keywords: Imath Python removed
Port: imath added; Imath removed
Summary: Imath not building Python extension as claimedimath @3.1.9: not building Python extension as claimed

comment:3 Changed 7 months ago by JGoldstone (Joseph Goldstone)

Actually, OpenColorIO is putting the .so in the correct place (the site-packages subdir of the lib dir) and OpenImageIO is putting the .so in the wrong place (the lib dir itself).

That said, the OpenColorIO Portfile's mechanism seems hideously complex for some reason, with per-python-minor-version variants, and OpenImageIO's Portfile's take on this is short and sweet. I *think* the reason that OCIO's Portfile is so complex is that it reflects a time when OpenColorIO used Boost Python instead of pybind11; and Imath is still using Boost Python (in the OpenEXR TSC I think more than once we have tried to get someone to cut it over to pybind11 as a GSoC project).

I'm going to ask on the OCIO slack if I'm right re: OCIO history. If so it might be possible to greatly simplify the OCIO Portfile's Python extension handling. And I will ask on the OpenEXR TSC slack for the magnitude of the task of cutting over to pybind11; we have a hackathon-like event coming up and maybe should suggest this to someone.

Note: See TracTickets for help on using tickets.