Threading Building Blocks and Linux Distributions, Part 2

In my last post I talked about the availability of Threading Building Blocks packages in Debian Linux, Ubuntu Linux, and the Fedora Project. In this post, I'll investigate TBB's availability in other Linux distributions and also in FreeBSD.

Commercial TBB supported Linux distros

The Commercial TBB site includes a System Requirements section that identifies several Linux distributions on which TBB has been tested. These distributions are:

    • Red Hat Enterprise Linux* 3, 4, or 5

    • Red Hat Fedora Core* 4, 5, or 6 (not supported on Itanium-based systems)

    • Asianux* 2.0

    • Red Flag DC Server* 5.0

    • Haansoft Linux* Server 2006

    • Miracle Linux v4.0

    • SuSE Linux Enterprise Server* 9 or 10

    • SGI Propack* 4.0 (supported on Itanium-based systems only)

    • SGI Propack 5.0 (not with IA-32 architecture processors)

    • Mandriva/Mandrake Linux 10.1.06 (not with Intel Itanium processors)
      Turbolinux GreatTurbo* Enterprise Server 10 SP1 (not with Intel Itanium processors)



This list tells us that commercial TBB has been installed and tested on these distributions, but it doesn't tell us which of these distributions offers or plans to offer TBB open source packages. In July 2007 (when TBB Open Source was announced), people associated with several of these distributions commented on TBB open source (see the "TBB's status with Operating System Vendors (OSVs)" TBB forum post), suggesting that they planned to make TBB "more easily assessible" on their system (Novell/OpenSUSE), or that they are bundling TBB with their distribution (Asianux and Turbolinux). So, I did some searching to see if I could find out the current status of TBB and these distributions.

Red Hat Enterprise Linux: no open source TBB package information found...

Fedora 8: As I reported in my last post, the tbb20_20070927oss stable release has apparently been packaged into Fedora 8 and is available as an [http://download.fedora.redhat.com/pub/fedora/linux/updates/8/SRPMS/tbb-2.0-4.20070927.fc8.src.rpm] RPM file on the Fedora Download Server.

Asianux, Red Flag, Haansoft Linux, Miracle Linux: the Asianux About page suggests that these are all essentially the same Linux distribution, just distributed by different vendors. I wasn't able to find any references to TBB in the Asianux bug list. I created an account so I could access the technical support site, but there is a new account approval procedure that blocked my access. Searching on the web, I found a description of a purchasable Value Pack of Intel software for Haansoft Linux. So, perhaps the way you get TBB onto Asianux and the related distributions is through purchasing and installing a commercial set of Intel software. I found no information about open source TBB packages for Asianux.

SuSE: no open source TBB package information found...

SGI Propack: this is a purchasable software package designed for SGI Altix computers.

Mandriva/Mandrake: For Mandriva, I searched the forums and mailing list archives, and did general web searches; no open source TBB package information turned up.

TBB in FreeBSD

FreeBSD has embraced open source TBB since soon after its inception. The latest update to the FreeBSD TBB port was made on February 7, 2008. I believe this means that the tbb20_20080207oss development release of TBB is available in FreeBSD. That release is no longer listed on the TBB Downloads site. Because of this, I'm not sure what will happen if you try to install TBB using the FreeBSD package manager. It depends on if there is a dependency in the FreeBSD package on a link to the original tbb20_20080207oss download, and if that the download link still exists (even though we can't navigate to it using a browser any longer).

Conclusion

Threading Building Blocks is used by many developers on Linux and FreeBSD systems. Packaging of TBB is actively under way for Debian Linux, Ubuntu Linux, and the Fedora Project; TBB is also available through the FreeBSD package manager.

It's likely that work is being done to package Threading Building Blocks for other Linux distributions; but, at the moment, there does not appear to be publicly available information about these efforts.

Fortunately, it's relatively easy to install TBB onto any Linux system. You install the source and build it; or you can download one of the prebuilt Linux binary downloads that are delivered with the TBB Commercial Aligned releases. Once you set your environment variables (see the tbbvars.* files), you'll be set to go!

Kevin Farnham, O'Reilly Media TBB Open Source Community, Freenode IRC #tbb, TBB Mailing Lists

Download TBB

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.