From Fedora Project Wiki


TBB2022.2.0

Summary

Update the tbb package in Fedora from version 2022.0.0 to 2022.2.0. The tbb package contains Intel's oneAPI Threading Building Blocks, a library for breaking computations into parallel tasks.

Owner


Current status

Detailed Description

In tbb 2022.0.0 and earlier, certain macros expanded to code that accessed internal elements of the API. Some of those internal elements were removed in tbb versions 2022.1.0 and 2022.2.0. Although the public API has not changed, ELF objects in some Fedora packages refer to symbols that are not provided by the newer versions. Thus, a rebuild of all tbb-using packages is needed.

Evidence that the API has not changed is available in a COPR repository containing the new version of TBB and builds of consuming packages. Three packages (embree3, rkcommon, and root) could not be built because they currently fail to build from source in Rawhide, but all others were successfully built unmodified.

The proposed changes to the tbb package are visible in this pull request.

Besides tbb itself, the packages that must be rebuilt (with maintainers) are:

  • blake3 (sicherha)
  • dyninst (fche, mcermak, lberk, orion, wcohen)
  • easyeffects (vascom)
  • embree (luya, aekoroglu, slaanesh)
  • embree3 (luya)
  • gfan (jjames, pcpa)
  • ispc (luya, aekoroglu, slaanesh, tstellar)
  • Macaulay2 (rdieter)
  • mathicgb (jjames)
  • mold (sicherha)
  • oidn (luya, aekoroglu, slaanesh)
  • opae (trix)
  • opencascade (hobbes1069)
  • opencv (kwizart, jridky, jkucera, hhorak)
  • openpgl (luya, aekoroglu)
  • openvino (aekoroglu)
  • openvkl (aekoroglu)
  • pagmo2 (topazus)
  • papilo (jjames)
  • polymake (jjames, rmattes)
  • prusa-slicer (tibbs, spot, jstanek, adelton, churchyard)
  • ptl (topazus)
  • rkcommon (aekoroglu)
  • root (ellert, @r-maint-sig)
  • scip (jjames)
  • soplex (jjames)
  • TOPCOM (jjames)
  • usd (luya, aekoroglu, slaanesh, music, @multimedia-sig)

Some of those packages take many hours to build, and some of the very long builds must be done sequentially due to dependencies between packages on the list. Approximately 2 to 3 days will be needed to do all of the builds.

Feedback

Benefit to Fedora

We will be able to take advantage of improvements in tbb versions 2022.1.0 and 2022.2.0, as well as unblocking our ability to continue updating to newer releases.

Scope

  • Proposal owners:

We will contact owners of the affected packages and negotiate a time when the rebuilds can be done. Once a time has been arranged, we will announce it on fedora-devel-list and do all of the builds in a side tag at the arranged time.

  • Other developers: N/A
  • Release engineering: N/A
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Third-party applications linked with tbb may need to be rebuilt.


How To Test

Except for the packages that could not be built, all packages involved built in the COPR successfully, meaning their %check scripts passed. Since the changes to tbb are small in scope, we expect that this level of testing is sufficient.


User Experience

This Change does not entail any user-visible changes.

Dependencies

The list of affected packages is given in the detailed description.


Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) The side tag will not be merged into Rawhide
  • Contingency deadline: Beta Freeze
  • Blocks release? No

Documentation

N/A (not a System Wide Change)

Release Notes

Due to the ABI change, non-Fedora packages that use tbb will likely need to be rebuilt. Version 2022.2.0 is API-compatible with version 2022.0.0, the version currently in Rawhide, so a simple rebuild should suffice.