-
Notifications
You must be signed in to change notification settings - Fork 208
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
CI : Add linux-gcc11
build variants
#5622
CI : Add linux-gcc11
build variants
#5622
Conversation
983b722
to
d742173
Compare
Test failures at https://github.com/GafferHQ/gaffer/actions/runs/7482550578/job/20366351895?pr=5622 |
I can reproduce those test failures in an Alma 9 VM with GCC 11 as well (using the prebuild dependencies). I'm suspecting an ImageStats bug - will dig a bit deeper. |
The problem is that the hash for the tile stats isn't changing when we change the input area, even though we do append that to the hash here : https://github.com/GafferHQ/gaffer/blob/main/src/GafferImage/ImageStats.cpp#L378. Smells like the optimiser is dropping something because it doesn't think it contributes to the hash. This rang a bell - I think it's the same thing I worked around here : ddd1f85, and indeed that "fix" works here too. Really we should sort this out in MurmurHash itself though - I think we're probably hitting undefined behaviour because we treat |
Thanks for the digging! In order to get the tests passing I've worked around the Box2i hashing strangeness in e6e0964. Getting all the tests passing required the workaround in CollectImages and Offset in addition to ImageStats. There appear to be other hashes of Box2i in GafferImage, but they don't seem to be triggering this weirdness - at least not as far as the tests are concerned... I've added a couple of fixups, one that improves the variant handling by adding a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Murray! I've made a couple of comments to consider regarding the installation script, but other than that this looks good to merge.
Specifically Sphinx is now pulling in urllib3 2.1.0, which no longer supports the system OpenSSL version on Centos 7. It looks like we can get around this by specifying
Similar story here, in the few days between build 3.0.0a2 and 3.0.0a3 a new version of sphinxcontrib-applehelp was released that is no longer compatible with Sphinx 4.3.1 but is still installed via |
I have no idea what we're using that for, since this is the description for it :
Maybe there's some way we can just stopping it getting imported? Although locking the versions as you suggested sounds fine too... |
Update to new build containers with `GAFFER_BUILD_ENVIRONMENT` environment variable. We can use this to download the appropriate dependencies package for each build environment. We could potentially use `GAFFER_BUILD_ENVIRONMENT` to also define the build name in setBuildVars.py. This would need to be some combination of the platform, build type (nothing for a release build, "-debug" for a debug build), and the build environment.
This is only temporary while there is no `gafferDependencies-8.0.0a3-windows.zip` available.
We should sort this out in MurmurHash itself though - John thinks we're probably hitting undefined behaviour because we treat `min, max` as an array in https://github.com/ImageEngine/cortex/blob/85f9bca60a8be0e5aad71b98b9a1602702f72bbd/include/IECore/MurmurHash.inl#L360. For reference, see a similar workaround when hashing a display window in ddd1f85.
059d9d8
to
dcbb22a
Compare
Yeah, this confused me too and even though we don't require it, removing |
Putting this up a draft to test CI with the new Rocky 8 / GCC 11.2.1 build container and the dependencies produced from that container.