I am a nixpkgs maintainer, we recently tried to update tbb to 2021.1.1.
While doing so we found the following incompatibility with the last tbb version:
In file included from /tmp/nix-build-blender-2.91.0.drv-0/blender-2.91.0/intern/cycles/util/util_task.cpp:17: In file included from /tmp/nix-build-blender-2.91.0.drv-0/blender-2.91.0/intern/cycles/util/../util/util_task.h:22: /tmp/nix-build-blender-2.91.0.drv-0/blender-2.91.0/intern/cycles/util/../util/util_tbb.h:39:14: error: no member named 'self' in namespace 'tbb::v1::task' tbb::task::self().cancel_group_execution(); ~~~~~~~~~~~^ /tmp/nix-build-blender-2.91.0.drv-0/blender-2.91.0/intern/cycles/util/util_task.cpp:65:20: error: no member named 'is_canceling' in 'tbb::detail::d1::task_group' return tbb_group.is_canceling(); ~~~~~~~~~ ^ 2 errors generated. make: *** [intern/cycles/util/CMakeFiles/cycles_util.dir/build.make:238: intern/cycles/util/CMakeFiles/cycles_util.dir/util_task.cpp.o] Error 1 make: *** [CMakeFiles/Makefile2:3722: intern/cycles/util/CMakeFiles/cycles_util.dir/all] Error 2 make: *** Waiting for unfinished jobs....
In short building blender against tbb 2021.1.1 fails because tbb no longer expose the is_canceling function.
It would be great if this could be resolved so we don’t have to provided a vendored version of tbb just for blender.
Here here is the corresponding nixpkgs issue: https://github.com/NixOS/nixpkgs/pull/109113