Page MenuHome

Build: OpenColorIO 2.0.0 support for make deps and install_deps.sh
ClosedPublic

Authored by Brecht Van Lommel (brecht) on Feb 1 2021, 3:55 PM.

Details

Summary
  • Tinyxml was replaced with Expat, adding a new dependency.
  • Yaml-cpp is now built as a dependency on Unix, as was already done on Windows.
  • Removed currently unused LCMS code, couldn't be bothered to update and test it.
  • Pystring remains built as part of OCIO itself, since it has no good build system.

We currently require OpenColorIO 2.0.0 and the following code changes have no
compatibility with 1.x. Compatibility could be added, but it's rather complicated
and I only want to do the work if it's really needed.

The install_deps.sh support was implemented by Jeroen, I have no tested it myself.

The Windows code was updated, but I have not tested if it actually works, it
almost certainly will not.

To get all the patches for testing, use the tmp-ocio-v2 branch or apply the last patch
in the stack with arc.

Event Timeline

Brecht Van Lommel (brecht) requested review of this revision.Feb 1 2021, 3:55 PM
Brecht Van Lommel (brecht) created this revision.

I pushed some minor changes to the temp branch in rB6adb1fd37c5d: Windows: OCIO2 build fixes this branch will now build/link on windows.

Update with Windows changes.

Unless we can find a really good reason, I suggest we do not maintain backwards compatibility with OpenColorIO 1.x.

It would make the code quite complicated, and I also want to update or configuration file to take advantage of some of the new 2.x features.

This does mean that we need to commit the code changes and precompiled libraries for all platforms at the same time, otherwise the build will break.

I suggest platform maintainers attach a zip file with the updated opencolorio lib folder here, and then I can commit everything at the same time.

not a super huge fan of landing it like that (but willing to do it), perhaps can we check for the existence of OpenColorAppHelpers.h (new in 2.x) and just disable OCIO with a warn if it is missing?

We already have a version check in FindOpenColorIO.cmake, and on Linux and macOS it will disable OpenColorIO in the build automatically.

However without OpenColorIO the render tests will fail and buildbot builds will be missing functionality for users. So we'd still need to synchronize between platforms, and me committing everything is the easiest solution I could think of.

Catch!

be sure to clear out all old v1 files before copying these in so the we don't end up with some freaky hybrid folder.

Bastien Montagne (mont29) requested changes to this revision.Feb 3 2021, 6:12 PM
Bastien Montagne (mont29) added inline comments.
build_files/build_environment/install_deps.sh
425

This won't work, MAX version are exclusive, so should be either 2.1, or 3.0 for example

This revision now requires changes to proceed.Feb 3 2021, 6:12 PM

Increase OCIO_VERSION_MAX.

install_deps part looks good to me now.

This revision is now accepted and ready to land.Feb 3 2021, 7:42 PM
This comment has been deleted.

No need to attach the macOS libraries by the way, I already have those built for x86-64 and arm.

It's just the Linux CentOS 7 libraries that I'm missing.

I'm getting linker errors on the tmp-ocio-v2 branch. Note that the /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64 directory on my system actually contains the updated libraries I built on my CentOS VM.

1ninja: Entering directory `/home/sybren/workspace/blender-git/build_linux/'
2[1/1] Linking CXX executable bin/blender
3FAILED: bin/blender
4: && /usr/bin/g++ -Wuninitialized -Wredundant-decls -Wall -Wno-invalid-offsetof -Wno-sign-compare -Wlogical-op -Winit-self -Wmissing-include-dirs -Wno-div-by-zero -Wtype-limits -Werror=return-type -Wno-char-subscripts -Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings -Wundef -Wformat-signedness -Wrestrict -Wuninitialized -Wundef -Wmissing-declarations -Wimplicit-fallthrough=5 -fuse-ld=gold -std=c++17 -msse -pipe -fPIC -funsigned-char -fno-strict-aliasing -ffp-contract=off -msse2 -D_GLIBCXX_USE_CXX11_ABI=0 -fmacro-prefix-map="/home/sybren/workspace/blender-git/blender/"="" -fmacro-prefix-map="/home/sybren/workspace/blender-git/build_linux/"="" -Wno-maybe-uninitialized -O2 -DNDEBUG -static-libstdc++ -no-pie -Wl,--version-script='/home/sybren/workspace/blender-git/blender/source/creator/blender.map' source/creator/CMakeFiles/blender.dir/creator.c.o source/creator/CMakeFiles/blender.dir/creator_args.c.o source/creator/CMakeFiles/blender.dir/creator_signals.c.o -o bin/blender -L/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/python/lib -L/home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib -L/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib -L/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib -L/home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/tbb/lib lib/libbf_blenkernel.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/lib/libtbb.a lib/libbf_windowmanager.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/jemalloc/lib/libjemalloc.a -lutil -lc -lm -lpthread -ldl /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXi.so /usr/lib/x86_64-linux-gnu/libXxf86vm.so /usr/lib/x86_64-linux-gnu/libXfixes.so /usr/lib/x86_64-linux-gnu/libXrender.so lib/libbf_blenloader.a lib/libbf_blentranslation.a lib/libbf_bmesh.a lib/libbf_draw.a lib/libbf_imbuf.a lib/libbf_modifiers.a lib/libbf_nodes.a lib/libbf_rna.a lib/libbf_simulation.a lib/libbf_python.a lib/libbf_python_bmesh.a lib/libbf_editor_screen.a lib/libbf_sequencer.a lib/libbf_compositor.a lib/libbf_alembic.a lib/libbf_editor_space_api.a lib/libbf_editor_animation.a lib/libbf_editor_armature.a lib/libbf_editor_curve.a lib/libbf_editor_gpencil.a lib/libbf_editor_io.a lib/libbf_editor_mesh.a lib/libbf_editor_object.a lib/libbf_editor_physics.a lib/libbf_editor_scene.a lib/libbf_editor_sculpt_paint.a lib/libbf_editor_sound.a lib/libbf_editor_transform.a lib/libbf_editor_undo.a lib/libbf_editor_interface.a lib/libbf_editor_space_sequencer.a lib/libbf_io_common.a lib/libbf_editor_geometry.a lib/libbf_editor_space_action.a lib/libbf_editor_space_clip.a lib/libbf_editor_space_console.a lib/libbf_editor_space_graph.a lib/libbf_editor_space_image.a lib/libbf_editor_space_nla.a lib/libbf_editor_space_node.a lib/libbf_editor_space_outliner.a lib/libbf_editor_space_statusbar.a lib/libbf_editor_space_text.a lib/libbf_editor_space_view3d.a lib/libbf_usd.a lib/libbf_editor_uvedit.a lib/libbf_blenkernel.a lib/libbf_windowmanager.a lib/libbf_blenloader.a lib/libbf_blentranslation.a lib/libbf_bmesh.a lib/libbf_draw.a lib/libbf_imbuf.a lib/libbf_modifiers.a lib/libbf_nodes.a lib/libbf_rna.a lib/libbf_simulation.a lib/libbf_python.a lib/libbf_python_bmesh.a lib/libbf_editor_screen.a lib/libbf_sequencer.a lib/libbf_compositor.a lib/libbf_alembic.a lib/libbf_editor_space_api.a lib/libbf_editor_animation.a lib/libbf_editor_armature.a lib/libbf_editor_curve.a lib/libbf_editor_gpencil.a lib/libbf_editor_io.a lib/libbf_editor_mesh.a lib/libbf_editor_object.a lib/libbf_editor_physics.a lib/libbf_editor_scene.a lib/libbf_editor_sculpt_paint.a lib/libbf_editor_sound.a lib/libbf_editor_transform.a lib/libbf_editor_undo.a lib/libbf_editor_interface.a lib/libbf_editor_space_sequencer.a lib/libbf_io_common.a lib/libbf_editor_geometry.a lib/libbf_editor_space_action.a lib/libbf_editor_space_clip.a lib/libbf_editor_space_console.a lib/libbf_editor_space_graph.a lib/libbf_editor_space_image.a lib/libbf_editor_space_nla.a lib/libbf_editor_space_node.a lib/libbf_editor_space_outliner.a lib/libbf_editor_space_statusbar.a lib/libbf_editor_space_text.a lib/libbf_editor_space_view3d.a lib/libbf_usd.a lib/libbf_editor_uvedit.a lib/libbf_gpencil_modifiers.a lib/libbf_ikplugin.a lib/libbf_intern_iksolver.a lib/libbf_intern_itasc.a lib/libbf_intern_clog.a lib/libbf_intern_ghost.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/spnav/lib/libspnav.a lib/libextern_xdnd.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/xr_openxr_sdk/lib/libopenxr_loader.a lib/libbf_intern_libmv.a lib/libextern_ceres.a lib/libbf_intern_mikktspace.a lib/libbf_intern_opensubdiv.a lib/libbf_shader_fx.a lib/libextern_binreloc.a lib/libbf_intern_rigidbody.a lib/libextern_minilzo.a lib/libextern_lzma.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/fftw3/lib/libfftw3.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opensubdiv/lib/libosdGPU.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opensubdiv/lib/libosdCPU.a lib/libbf_intern_quadriflow.a lib/libextern_quadriflow.a lib/libbf_intern_locale.a lib/libextern_rangetree.a lib/libbf_intern_memutil.a lib/libbf_intern_opencolorio.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencolorio/lib/libyaml-cpp.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencolorio/lib/libexpat.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencolorio/lib/libpystring.a lib/libbf_imbuf_openimageio.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openjpeg/lib/libopenjp2.a lib/libbf_avi.a lib/libbf_imbuf_dds.a lib/libbf_imbuf_cineon.a lib/libextern_bullet.a lib/libbf_intern_openvdb.a lib/libbf_intern_dualcon.a lib/libbf_functions.a lib/libbf_dna.a lib/libbf_editor_asset.a lib/libbf_editor_gizmo_library.a lib/libbf_editor_render.a lib/libbf_python_gpu.a lib/libbf_intern_cycles.a lib/libextern_glog.a lib/libextern_gflags.a lib/libcycles_graph.a lib/libcycles_bvh.a lib/libcycles_device.a lib/libcycles_kernel.a lib/libcycles_render.a lib/libcycles_kernel_osl.a lib/libcycles_bvh.a lib/libcycles_device.a lib/libcycles_kernel.a lib/libcycles_render.a lib/libcycles_kernel_osl.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libembree3.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libembree_sse42.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libembree_avx.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libembree_avx2.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/liblexers.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libmath.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libsimd.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libsys.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/embree/lib/libtasking.a lib/libbf_intern_glew_mx.a lib/libextern_cuew.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openvdb/lib/libopenvdb.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/blosc/lib/libblosc.a lib/libbf_intern_sky.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslexec.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslquery.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openimageio/lib/libOpenImageIO.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/png/lib/libpng16.a -lm /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/jpeg/lib/libjpeg.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tiff/lib/libtiff.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/pugixml/lib/libpugixml.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMXRay.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMWindowsManifest.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMTextAPI.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMTableGen.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMSymbolize.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoPDB.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMOrcJIT.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMJITLink.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMObjectYAML.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMMIRParser.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCA.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMLTO.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMPasses.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMObjCARCOpts.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMLineEditor.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMLibDriver.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMInterpreter.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMFuzzMutate.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCJIT.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMExecutionEngine.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDlltoolDriver.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMOption.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoGSYM.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMCoverage.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMCoroutines.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMipo.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMInstrumentation.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMVectorize.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMLinker.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMIRReader.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMAsmParser.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMX86Disassembler.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMX86AsmParser.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMX86CodeGen.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMGlobalISel.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMSelectionDAG.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMAsmPrinter.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoDWARF.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMCodeGen.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMTarget.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMScalarOpts.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMInstCombine.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMAggressiveInstCombine.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMTransformUtils.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMBitWriter.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMAnalysis.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMProfileData.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMX86Desc.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMObject.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCParser.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMBitReader.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMCore.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMRemarks.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMBitstreamReader.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCDisassembler.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMMC.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoCodeView.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoMSF.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMBinaryFormat.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMX86Utils.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMX86Info.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMSupport.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/llvm/lib/libLLVMDemangle.a lib/libcycles_subd.a lib/libcycles_util.a lib/libextern_clew.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openimagedenoise/lib/libOpenImageDenoise.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openimagedenoise/lib/libcommon.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openimagedenoise/lib/libdnnl.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/alembic/lib/libAlembic.a lib/libbf_editor_space_buttons.a lib/libbf_editor_space_file.a lib/libbf_editor_space_info.a lib/libbf_editor_space_script.a lib/libbf_editor_space_topbar.a lib/libbf_editor_space_userpref.a lib/libextern_curve_fit_nd.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/potrace/lib/libpotrace.a lib/libbf_collada.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libOpenCOLLADAStreamWriter.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libOpenCOLLADASaxFrameworkLoader.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libOpenCOLLADAFramework.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libOpenCOLLADABaseUtils.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libGeneratedSaxParser.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libMathMLSolver.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libbuffer.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libftoa.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/opencollada/lib/libUTF.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/opencollada/lib/libpcre.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/xml2/lib/libxml2.a lib/libbf_render.a lib/libbf_imbuf_openexr.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openexr/lib/libHalf.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openexr/lib/libIex.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openexr/lib/libIlmImf.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openexr/lib/libIlmThread.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openexr/lib/libImath.a lib/libbf_freestyle.a lib/libbf_python_mathutils.a lib/libbf_python_ext.a lib/libbf_intern_mantaflow.a lib/libextern_mantaflow.a lib/libbf_blenfont.a lib/libbf_gpu.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/mesa/lib/libGL.so lib/libextern_glew.a lib/libbf_editor_mask.a lib/libbf_editor_metaball.a lib/libbf_editor_datafiles.a lib/libbf_editor_util.a lib/libbf_depsgraph.a lib/libbf_intern_audaspace.a -Xlinker -export-dynamic lib/libaudaspace-py.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/python/lib/libpython3.9.a lib/libaudaspace.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavcodec.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavdevice.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavformat.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavutil.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libmp3lame.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libogg.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libopus.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libswresample.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libswscale.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libtheora.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libtheoradec.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libtheoraenc.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbisenc.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbisfile.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvpx.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libxvidcore.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/sndfile/lib/libFLAC.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/sndfile/lib/libsndfile.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavcodec.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavdevice.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavformat.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libavutil.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libmp3lame.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libogg.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libopus.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libswresample.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libswscale.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libtheora.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libtheoradec.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libtheoraenc.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbis.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbisenc.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvorbisfile.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libvpx.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libx264.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/ffmpeg/lib/libxvidcore.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/sndfile/lib/libFLAC.a /home/sybren/workspace/blender-git/blender/../lib/linux_centos7_x86_64/sndfile/lib/libsndfile.a /usr/lib/x86_64-linux-gnu/libjack.so /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/sndfile/lib/libsndfile.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/openal/lib/libopenal.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/sdl/lib/libSDL2.a lib/libbf_editor_lattice.a lib/libbf_blenlib.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/lib/libtbb.a lib/libbf_intern_guardedalloc.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/zlib/lib/libz.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/freetype/lib/libfreetype.a lib/libbf_intern_eigen.a /usr/lib/gcc/x86_64-linux-gnu/10/libgomp.a lib/libbf_intern_numaapi.a lib/libextern_wcwidth.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/gmp/lib/libgmpxx.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/gmp/lib/libgmp.a lib/libbf_intern_libc_compat.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_filesystem.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_regex.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_thread.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_date_time.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_wave.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_locale.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_iostreams.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_system.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_chrono.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_atomic.a /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/boost/lib/libboost_serialization.a -Wl,--whole-archive /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/usd/lib/libusd_m.a -Wl,--no-whole-archive /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/lib/libtbb.a -lpthread -ldl /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXi.so /usr/lib/x86_64-linux-gnu/libXfixes.so /usr/lib/x86_64-linux-gnu/libXrender.so && :
5/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::PCHContainerOperations::PCHContainerOperations()'
6/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::CompilerInstance(std::shared_ptr<clang::PCHContainerOperations>, clang::InMemoryModuleCache*)'
7/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&, clang::DiagnosticOptions*, bool)'
8/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::DiagnosticIDs::DiagnosticIDs()'
9/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs>, llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions>, clang::DiagnosticConsumer*, bool)'
10/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::setDiagnostics(clang::DiagnosticsEngine*)'
11/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::TargetInfo::CreateTargetInfo(clang::DiagnosticsEngine&, std::shared_ptr<clang::TargetOptions> const&)'
12/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::setTarget(clang::TargetInfo*)'
13/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::createFileManager(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>)'
14/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::createSourceManager(clang::FileManager&)'
15/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::SourceManager::createMemBufferContentCache(llvm::MemoryBuffer const*, bool)'
16/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::SourceManager::createFileID(clang::SrcMgr::ContentCache const*, clang::SourceLocation, clang::SrcMgr::CharacteristicKind, int, unsigned int)'
17/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::createPreprocessor(clang::TranslationUnitKind)'
18/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::DoPrintPreprocessedInput(clang::Preprocessor&, llvm::raw_ostream*, clang::PreprocessorOutputOptions const&)'
19/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::CompilerInstance::~CompilerInstance()'
20/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::DiagnosticIDs::~DiagnosticIDs()'
21/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&): error: undefined reference to 'clang::DiagnosticIDs::~DiagnosticIDs()'
22/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_11::pvt::OSLCompilerImpl::preprocess_buffer(std::string const&, std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&, std::string&) [clone .cold]: error: undefined reference to 'clang::CompilerInstance::~CompilerInstance()'
23/home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function llvm::RefCountedBase<clang::DiagnosticIDs>::Release() const: error: undefined reference to 'clang::DiagnosticIDs::~DiagnosticIDs()'
24collect2: error: ld returned 1 exit status
25ninja: build stopped: subcommand failed.

What I guess happened is that you compiled a newer version of OSL / LLVM / Clang, and then built it with the tmp-ocio-v2 branch. However that branch does not have the required changes to link to the Clang libraries, and so there are undefined references.

What I guess happened is that you compiled a newer version of OSL / LLVM / Clang

Yup, that was it.

Thanks all for libs and reviews, I'll commit this all soon.