Page MenuHome

Library upgrades for 2.90
Closed, ResolvedPublicTO DO


Still up for discussion
MESA18. Current Version
Marked for update
X264some githashmost recent githashT77035
Marked for removal
HDF51. been tested in agesrB0c384362272 and rB0102b9d47edfeea
LAPACK3. used anymorerBd69bb06
FAAD2-2.8.82-2.8.8Only used by ffmpeg, which dropped support ages agorB5db2d9c
HIDAPI0.8.0-rc1?was only used by the openhmd branchrBd69bb06
Deps not updated
ZLIB_VERSION1. new version
BOOST1. refrerence prevents update
BLOSC1. is mandated by openvdb
PTHREADS3. new version
OPENEXR2. refrerence prevents update
FREEGLUT3. for cycles standalone only
ALEMBIC1. new version
OPENCOLLADAv1.6.681.6.88no new version
TBB2019_U92020_U2vfx refrerence prevents update
OPENVDB7. new version
SNDFILE1. new version
FLEXBISON2. dep for osl only,works fine as is
LAME3.13.1no new version
VORBIS1. new version
THEORA1. new version
OPUS1. new version
FFTW3. new version
SPNAV0. new version
LCMS2.92.9no new version
TINYXML2_6_22.6.2no new version
YAMLCPP0. new version
GLEW1. used for cycles standalone
CHARDET3. new version
LIBGLU9. new version
LLVM9. library, no clear reason to upgrade
WEBP0. optional

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Brecht Van Lommel (brecht) changed the task status from Needs Triage to Confirmed.Apr 28 2020, 2:10 PM

There's no urgency to this, just creating the task now for the 2.90 workboard.

OIIO is somewhat of a problematic one, it detects a bunch of stuff on its own and decides from that what to build with, some of the cmake variables have changed in recent versions so things may gone missing, we should make a unit test to validate that the formats we expect are actually in there similar to the ffmpeg unit test.

@Brecht Van Lommel (brecht) . are the corresponding changes done to versions.cmake? (as in, is it enough to simply git pull, make deps and call it done)?

I'm also confused with "Maybe". Do or do not I do it?

I'd like to upgrade to Embree 3.9.0 as well, since it supports thick line segments for hair. I can provide a patch. If we're now settled on TBB being a requirement, it might also be worth it to turn on TBB support in Embree.

@Stefan Werner (swerner) upgrading Embree and enabling TBB seems fine.

This comment was removed by Ray molenkamp (LazyDodo).

For upgrading OpenImageIO and other libraries, here's a patch from a few months ago that works towards this: P1368.

Just so we don't duplicate work, i'm currently working on oidn 1.2

i took a quick survey of all our deps, made some recommendations , the deps without notes i really have no opinion on, there's some module specific deps where the owners will have to decide,

@Sybren A. Stüvel (sybren) for USD
@Julian Eisel (Severin) for openXR
@Sergey Sharybin (sergey) for opensubdiv
@Stefan Werner (swerner) for embree, you want to stick to 3.9? 3.10 is available

I checked the OpenXR SDK releases. There's nothing important or interesting for us really, so no need to update that.

Also checked the FreeType change-log for 2.10.2, but there's nothing interesting for us there either. WOFF2 support got added, I don't see a need for that though.

While OpenSubdiv does not really bring any user-measurable difference I still suggest updating it. Reasoning:

  1. Is bringing us from RC to actual release
  2. There are fixes for MSVC 2019

As for overall coordination here. I think it would be most convenient to review and commit the code for the library upgrades in parts, and then when it's all in place let the platform maintainers update the precompiled libraries all at once. At least as macOS maintainer I'd like to avoid doing this multiple times.

Regarding the proposed library upgrades. I'm ok with updated all the ones that are proposed to be updated, and removing all the ones that are proposed to be removed.

I wouldn't mind updating more libraries just for the sake of not missing out on any potential security fixes or other bug fixes. If they are easy and just a matter of bumping the version and hash in versions.cmake. If it's more complicated, I don't think it's important.

Sybren A. Stüvel (sybren) updated the task description. (Show Details)

+1 on the USD upgrade; I've updated the task description for this.

I wouldn't mind having WebP support upgraded and integrated with Blender as supported image format. It's a nice image format, and rather widely used, and a patch has been waiting for 5 years already (D1598).

I've pretty much picked off the easy bits, the ones still open are linux only, and USD which needs changes to the integration code, @Sybren A. Stüvel (sybren) mind taking this one on linux? once the build issues in blender are taken care of i'll do the windows libs.

I would like to see Python upgraded to 3.7.7, as there have been a bunch of security fixes.

As far as the other Python libraries go, they seem to be Requests + its dependencies. Keeping those updated is also a good idea, especially because that also impacts which TLS certificates are considered trustworthy.

I believe we are now ready with the CMake builder updates for 2.90, and that we can do the precompiled library updates now.

On Windows most precompiled libraries are already upgraded. I believe still remaining is embree (with TBB), openimagedenoise, and removing hidapi.

embree is done, tbb got added when i took out the erroneous exports, oidn still needs to be done indeed.

As far as the official release is concerned this is now done. There are still two sets of libraries that have not been updated yet for install deps:

Brecht Van Lommel (brecht) claimed this task.

This should be all done now.