tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lang/gcc10 + parallel/threadingbuildingblocks



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



Home | Main Index | Thread Index | Old Index