Closed boberfly closed 7 months ago
Update - I've rebased to ci-base image which omits Qt and other libraries.
after you mentioned that you guys are looking into the aswf-dockers as a base, I tried building with 2022 (centos7 base) to see how far I could get before trying the 2023 one and had some fixes and workarounds here. I'll leave as a draft, feel free to just cherry-pick what makes sense.
Thanks Alex! To be clear, our current plan for 1.4 is to offer builds from two containers :
The latter will be considered "beta" for most of the duration of 1.4, and will then be the only build available for 1.5.
Closing this one, since I think we're closing in on a final ASWF-based container for Gaffer 1.4. Thanks for being the in the vanguard for us on this one @boberfly.
Hi John, after you mentioned that you guys are looking into the aswf-dockers as a base, I tried building with 2022 (centos7 base) to see how far I could get before trying the 2023 one and had some fixes and workarounds here. I'll leave as a draft, feel free to just cherry-pick what makes sense.
So I built with 2022 but decided to run it in 2023 to see what breaks which seems like an effective way to find these problems with linking against the system libraries.
I used
ci-vfxall
but probably it is best to useci-common
so the existing libraries don't interfere with the ones that get built with Gaffer. Having said that I unset/usr/local/lib:/usr/local/lib64
fromLD_LIBRARY_PATH
as well as unsettingPYTHONPATH
.Boost : LZMA would link to an XZ library that had symbols specific to RHEL/Centos7 and would refuse to load in Rocky 8, disable it.
LLVM : Ncurses must be installed in this image so it gets linked to libtinfo.so, as well as linking to anything using OSL. Disable it.
OpenImageIO : Ptex gets detected and linked, disable it.
OpenSubDiv : Ptex gets detected and the build fails (glLoader can't be found?) disable it.
Qt : PySide2 seems to always want to build bindings for qtdeclarative (libQt5QML.so) so it was easier to just enable it. Probably would be preferred to build against ci-common.
The outstanding issues that this PR doesn't address and what I think the ci-common image would still have issues with is as follows:
OpenImageIO : Unfortunately
libwebp.so.4
still gets detected so we either build our own or need to patch OIIO to not link with it when it is disabled.Qt : Kerberos gets linked from the image
libgssapi_krb5.so.2 , libk5crypto.so.3, libkrb5.so.3 , libkrb5support.so.0
via libQt5Network/libQt5NetworkAuth so I'm not sure if we just build our own and package it like OpenSSL or patch Qt to not link against it.