Adsk Contrib - Support Yaml 0.9.0 and other build fixes - #2350
doug-walker wants to merge 11 commits into
Conversation
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
|
For context here's what I currently do in aswf-docker ci-ocio images. The version of yaml-cpp:
Since for now I'm building 2027 images with OCIO 2.5.2, that demonstrates that you can build / link at least 2.5.2 against 0.9.0. Since OCIO wants to be able to build its latest version against older VFX Platform images, I can update the 2023-2026 images to yaml-cpp 0.9.0 to make that easier. As for minizip-ng, I'm already including minizip-ng 4.0.10 in 2023-2026 (and rev'ed up to 4.2.1 for 2027), and for OCIO 2.2.1 builds for vfx2023 I apply this patch to support building against minizip-ng 4: |
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
|
Following up on the TSC discussion today, I've made the following updates to the dependencies. I'm listing the minimum and recommended versions (the latter is what OCIO installs when requested). Arrows indicate where I've increased the version. And I list the current latest version of each package. Library external dependencies expat
yaml-cpp
pystring
Imath
zlib
minizip-ng
Library vendored sampleicc (not maintained) xxhash 0.8.1 (current 0.8.4) In addition to the Actions runs, I've gotten the local build/tests to pass on macOS (arm64, x86_64), Windows, and Linux. The only actual library code change was to modify how exceptions are handled due to changes in the most recent expat. We have a lot of unit tests around the XML parsing, so hopefully this is solid. |
cozdas
left a comment
There was a problem hiding this comment.
Looks great.
Regarding the glu issue, the current fix looks correct but considering that multiple new developers hit glew/glut/glu related build problems in the past, and glu being deprecated many years ago I'm ok with removing the glu entirely. We can either return generic error string like mac does or add utility function to convert error enums to string.
There's another glu function usage in oglapp.cpp (gluOrtho2D) but that one seems ok as in that case glu is included via freeglut. Looks like it can be replaced with glOrtho() easily too if needed.
I'm ok with keeping the current glu fix as is and creating a ticket to remove glu in glsl.cpp in a later version.
Signed-off-by: Doug Walker <doug.walker@autodesk.com>
|
@remia, my latest commit makes a fix to get the Wheel workflow back online, please take a look. |
|
That seem reasonable, thanks @doug-walker, maybe we should consider dropping manylinux2014 but that can be done somewhere else. According to Claude:
|
Temporary cherry-pick of the fix from AcademySoftwareFoundation#2350, to validate the wheel jobs on this branch. Drop once AcademySoftwareFoundation#2350 is merged. Signed-off-by: Doug Walker <doug.walker@autodesk.com> (cherry picked from commit c2d7de6) Signed-off-by: Rémi Achard <remiachard@gmail.com>
As requested by @lgritz, this PR adds support for Yaml 0.9.0 and makes it the recommended version, which gets installed when OCIO_INSTALL_EXT_PACKAGES is set to MISSING or ALL. Addresses issue #2340.
Support for Yaml 0.9.0 simplifies building OCIO with gcc-15.
In addition, it fixes a build problem on Windows where recent vcpkg installs of glew no longer seem to have glu. This only seems to be necessary for gluErrorString, and it required pulling in windows.h. So another potential fix would just be to not use gluErrorString, as is done on macOS. Any opinions on that?
In addition, it fixes a bug in how the version of minizip_ng was being detected, as pointed out by @jfpanisset in issue #2314.
Assisted by: Claude Code / Sonnet 5