Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pybind11 to openexr Dockerfile #182

Closed

Conversation

cary-ilm
Copy link
Member

Imath is adding a dependency on pybind11. Imath uses the openexr docker container, so this adds it pybind11 to the Dockerfile, attempting to mirror exactly what MaterialX does.

Imath is adding a dependency on pybind11. Imath uses the openexr
docker container, so this adds it pybind11 to the Dockerfile,
attempting to mirror exactly what MaterialX does.

Signed-off-by: Cary Phillips <[email protected]>
@lgritz
Copy link
Contributor

lgritz commented Oct 11, 2023

OIIO and OSL use pybind11 as well. Maybe it should be moved to one of the base containers at the bottom of our docker stack instead of handled by each project individually?

Though, I should point out, pybind11 is a tiny library and can operate header-only, so there's not much benefit to having them in the docker containers, versus just downloading it and building it on the fly. I think of the docker containers as being most vital when the package is big and expensive enough that it's crucial to not have to rebuild it on every CI run.

@jfpanisset
Copy link
Contributor

It's not immediately obvious, but the ci-<project>/Dockerfile files are generated from the image.yaml file using:

aswfdocker dockergen

although the resulting Dockerfile gets checked in to the repo.

pybind11 is already in the 2023.1 ci-base image, but ci-openexr is not layered on top of that, so it currently doesn't have it. And turns out that Request to add Pybind11 to OpenVDB images #181 wants it as well, so I may go ahead and release 2023.2 images for this.

Would pybind11 2.9.2 currently do the trick for OpenEXR, or do you need something newer?

@cary-ilm
Copy link
Member Author

I doubt we have any special requirements, we're starting out simple. So yeah, if you could reconfigure it so that pybind11 is in the OpenEXR image, that would be great! Thanks!

@jfpanisset
Copy link
Contributor

This was addressed by #185 and container aswf/ci-openexr:2023.2 now has Pybind11 2.9.2 included:

$ docker run -it --rm aswf/ci-openexr:2023.2 /bin/bash
...
[root@e5e150349dbe aswf]# ls /usr/local/include/pybind11/
attr.h	       cast.h	 common.h   detail   embed.h  functional.h  iostream.h	operators.h  pybind11.h  stl	stl_bind.h
buffer_info.h  chrono.h  complex.h  eigen.h  eval.h   gil.h	    numpy.h	options.h    pytypes.h	 stl.h

@jfpanisset jfpanisset closed this Nov 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants