I am having trouble getting the packages lang/gcc10 and the parallel/threadingbuildingblocks to play well together. The current version of the tbb package (2021.3.0) has the following in the release notes: Known Limitations An application using Parallel STL algorithms in libstdc++ versions 9 and 10 may fail to compile due to incompatible interface changes between earlier versions of Threading Building Blocks (TBB) and oneAPI Threading Building Blocks (oneTBB). As a consequence, with gcc10 and tbb-2021.3.0, it seems impossible (to me) to compile a simple program that uses the STL execution policies with STL algorithms (e.g., std::for_each). Reverting to tbb-2020.3 does not solve the problem, because that version of the package is incomplete. It does not install the actual libraries; instead, it installs files that contain, for example, only the following line of text (in libtbb.so): INPUT (libtbb.so.2) In case anyone else is seeking a solution, I have had success by applying the attached patch to the tbb-2020.3 package. The patch simply adds the few missing files to the installed set, which allows me to compile and run a simple test program, which demonstrates that the parallel algorithms are in fact being used. I see no way to include this patch within the CVS repository, because the package has advanced beyond. However, I am hoping that posting this here may help others in need of a working gcc/tbb pair. I presume that gcc11 will work correctly with the new API in tbb-2021.3.0, and hope that someone who knows gcc better than I will package that soon. I would appreciate confirmation from anyone who knows tbb that this is all correct. Thanks a lot. Cheers, Brook
Attachment:
patch-tbb-2020.3
Description: Binary data