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