Page MenuHome

Library upgrades for 2.90
Closed, ResolvedPublicTO DO

Description

Still up for discussion
depCurrentLatestNotessuggestiondecision
MESA18.3.120.0.6Keep Current Version
Marked for update
depCurrentLatestDIFF/TASK
PYTHON3.7.43.7.7T77846
IDNA2.82.9T77846
URLLIB31.25.31.25.9T77846
CERTIFI2019.6.162020.4.5.1T77846
REQUESTS2.22.02.23.0T77846
NUMPYv1.17.01.17.5T77846
OIDN1.0.01.2.0D7641
OPENAL1.18.21.20.1T77005
PNG1.6.351.6.37D7727
JPEG1.5.32.0.4D7727
OPENCOLORIO1.1.01.1.1D7727
OPENIMAGEIO2.1.15.02.1.15.0D7727
TIFF4.0.94.1.0D7727
OSL1.10.91.10.10D7727
OPENJPEG2.3.02.3.1D7727
PUGIXML1.91.10D7727
EMBREE3.8.03.10.0D7623
FREETYPE2.10.12.10.2T77006
OPENSUBDIVv3_4_0_RC23.4.3T77007
SDL2.0.82.0.12T77010
OGG1.3.31.3.4T77035
FLAC1.3.21.3.3T77035
VPX1.7.01.8.2T77035
XVIDCORE1.3.51.3.7T77035
FFMPEG4.0.24.2.3T77035
X264some githashmost recent githashT77035
ICONV1.151.16T77233
JEMALLOC5.0.15.2.1T78252
XML22.9.42.9.10T78252
BZIP21.0.61.0.8T78252
FFI3.2.13.3T78252
LZMA5.2.45.2.5T78252
SSL1.1.0i1.1.1gT78252
SQLITE3.24.03.31.1T78252
USD19.1120.05T77806
XR_OPENXR_SDK1.0.61.0.8T77011
OpenImageDenoise1.0.01.2.1D7641
Marked for removal
depCurrentLatestreasonDIFF
HDF51.8.171.12.0not been tested in agesrB0c384362272 and rB0102b9d47edfeea
LAPACK3.6.03.9.0not 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
depCurrentLatestreason
ZLIB_VERSION1.2.111.2.11no new version
BOOST1.70.01.72.0vfx refrerence prevents update
BLOSC1.5.01.81.11.5.0 is mandated by openvdb
PTHREADS3.0.03.0.0no new version
OPENEXR2.4.02.5.1vfx refrerence prevents update
FREEGLUT3.0.03.2.1used for cycles standalone only
ALEMBIC1.7.121.7.12no new version
OPENCOLLADAv1.6.681.6.88no new version
TBB2019_U92020_U2vfx refrerence prevents update
OPENVDB7.0.07.0.0no new version
SNDFILE1.0.281.0.28no new version
FLEXBISON2.5.52.5.18build dep for osl only,works fine as is
LAME3.13.1no new version
VORBIS1.3.61.3.6no new version
THEORA1.1.11.1.1no new version
OPUS1.3.11.3.1no new version
FFTW3.3.83.3.8no new version
SPNAV0.2.30.2.3no new version
LCMS2.92.9no new version
TINYXML2_6_22.6.2no new version
YAMLCPP0.6.30.6.3no new version
GLEW1.13.02.1.0only used for cycles standalone
CHARDET3.0.43.0.4no new version
LIBGLU9.0.19.0.1no new version
LLVM9.0.110.0.0large library, no clear reason to upgrade
WEBP0.6.11.0.3still 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.