Maniphest T82521

Bump OpenImageIO minimum version 1.8 > 2.2.1 for install_deps.sh
Closed, Resolved

Assigned To
Bastien Montagne (mont29)
Authored By
Garry R. Osgood (grosgood)
Nov 9 2020, 1:13 AM
Tags
  • BF Blender
  • Platforms, Builds, Tests & Devices
Subscribers
Bastien Montagne (mont29)
Garry R. Osgood (grosgood)
Philipp Oeser (lichtwerk)

Description

System Information
Operating system: Linux-5.9.6-gentoo-bertha-x86_64-Intel-R-_Xeon-R-_CPU_E5-2630_v4_@_2.20GHz-with-gentoo-2.7 64 Bits
Graphics card: Radeon Pro WX 9100 (VEGA10, DRM 3.39.0, 5.9.6-gentoo-bertha, LLVM 9.0.1) X.Org 4.6 (Core Profile) Mesa 20.1.10

Blender Version
Broken: version: 2.92.0 Alpha, branch: master, commit date: 2020-11-08 15:12, hash: rB39012146e142
Worked: 2.92.0 rB91d320edc3cfb30443af4adbcb09bc3d7a609e1d

Short description of error
Building blender rB39012146e142bf40 here gave rise to this compilation error:

/home/gosgood/git_repositories/blender/intern/cycles/blender/blender_shader.cpp:122:23: error: ‘concat’ is not a member of ‘OpenImageIO_v1_8::ustring’
  122 |       return ustring::concat(object_attr_prefix, name);
      |                       ^~~~~~
/home/gosgood/git_repositories/blender/intern/cycles/blender/blender_shader.cpp:124:23: error: ‘concat’ is not a member of ‘OpenImageIO_v1_8::ustring’
  124 |       return ustring::concat(instancer_attr_prefix, name);
      |                       ^~~~~~
make[3]: *** [intern/cycles/blender/CMakeFiles/bf_intern_cycles.dir/build.make:255: intern/cycles/blender/CMakeFiles/bf_intern_cycles.dir/blender_shader.cpp.o] Error 1
...

The code giving rise to this error stems from a 03-November-2020 commit: rB6fdcca8de64cd70f.

It relies on OpenImageIO capabilities introduced with Add concat function to ustring and Strutil #2478 which are not present in version 1.8.17 installed on this system at the time of the failed build. Per OpenImageIO 2.2.6.1, this pull request was included in OpenImageIO 2.2.1. Upgrading to OpenImageIO-2.2.8.0 gave rise to a clean blender build.

Currently, install_deps.sh reports a minimum acceptable version OpenImageIO version of 1.8.

OIIO_VERSION="2.1.15.0"
OIIO_VERSION_SHORT="2.1"
OIIO_VERSION_MIN="1.8"
OIIO_VERSION_MAX="3.0"
OIIO_FORCE_BUILD=false
OIIO_FORCE_REBUILD=false
OIIO_SKIP=false

gosgood@bertha ~/git_repositories/blender/build_files/build_environment $ ./install_deps.sh --show-deps
...
    * OpenImageIO 1.8 (from https://github.com/OpenImageIO/oiio/archive/Release-2.1.15.0.tar.gz).
...

It seems, in light of this recent commit, the minimum OpenImageIO version should be 2.2.1.

Exact steps for others to reproduce the error

  1. Generally, configure the CMake build environment to use installed system libraries in lieu of blender-provided bundled libraries.
  2. Use install_deps.sh --show-deps to ensure installed system libraries are at or above the minimum versions.
  3. Compile Blender with OpenImageIO-1.8.x, purported to be minimum version.

Revisions and Commits

rB Blender

Related Objects

Mentioned Here
T76184: Library upgrades for 2.90
rB91d320edc3cf: Cycles: immediately store the used_shader list in Blender interface.
rB6fdcca8de64c: Materials: add custom object properties as uniform attributes.
rB39012146e142: Fix T81651, exact boolean modifier incorrect if operand hidden.

Event Timeline

Garry R. Osgood (grosgood) created this task.Nov 9 2020, 1:13 AM
Garry R. Osgood (grosgood) updated the task description.Nov 9 2020, 1:16 AM
Robert Guetzkow (rjg) added a project: Platforms, Builds, Tests & Devices.Nov 9 2020, 11:09 AM
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from Developers.Nov 11 2020, 2:04 PM
Philipp Oeser (lichtwerk) added subscribers: Bastien Montagne (mont29), Philipp Oeser (lichtwerk).

Looks like a valid claim.

T76184: Library upgrades for 2.90 mentiones OIIO at version 2.1.15.0 and it looks like the SVN libs are at 2.1.15.0 as well?

I can build with the SVN libs, and it looks like I can build with Fedoras 2.1.18 as well, so not sure what is going on.

Maybe @Bastien Montagne (mont29) knows more?

Bastien Montagne (mont29) added a comment.Nov 11 2020, 3:07 PM

According to https://github.com/OpenImageIO/oiio/blob/13518cc403e17063c8dfe415cd369bbadd2202c8/CHANGES.md#release-2112-2-mar-2020----compared-to-2111 ustring::concat was added in 2.1.12, so I guess that's our minimal version now.

Bastien Montagne (mont29) closed this task as Resolved by committing rB5b5ec0a2e910: Fix T82521: Bump OpenImageIO minimum version 1.8 > 2.2.1 for install_deps.sh.Nov 11 2020, 3:10 PM
Bastien Montagne (mont29) claimed this task.
Bastien Montagne (mont29) added a commit: rB5b5ec0a2e910: Fix T82521: Bump OpenImageIO minimum version 1.8 > 2.2.1 for install_deps.sh.