Installing Cell Broadband Engine SDK

From ArchWiki
Revision as of 04:13, 24 January 2007 by Snowman (talk | contribs)
Jump to: navigation, search

The CBE SDK installation only supports an FC5 linux distribution. I managed to install it on my archlinux system with the help of the original article by Justin Lee for a more general installation on a linux system. The arcticle can be found on the Cellperformance website.

Required Packages

All of the following required packages are provided by the pacman databases and the versions should be recent enough.

Current repository:

  • gcc 4.x
  • glibc 2.4
  • perl 5.x
  • freeglut
  • gawk
  • bison
  • flex

Extra repository:

  • rpmextract

To make sure all of these are installed:

# pacman -S gcc glibc perl freeglut gawk bison flex rpmextract

A little tweak is needed for the following two:


We need the exact version 3.80 of make for installing the SDK and the current make-version that pacman provides is a later version. In your /var/abs/local directory, make a directory called 'make'. In that directory, create a file 'PKGBUILD'.

# cd /var/abs/local
# mkdir make
# cd make
# nano -w PKGBUILD

Place the following in this PKGBUILD file:

# $Id: PKGBUILD,v 1.13 2006/04/07 04:18:32 judd Exp $
# Maintainer: judd <>
pkgdesc="GNU make utility to maintain groups of programs"
depends=('glibc' 'bash')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg install

Now run makepkg and install this version (3.80) of make with the following command.

# makepkg
# pacman -U make-3.80-1.pkg.tar.gz

A subsequent update of your arch system, will upgrade make again. That is not a bad thing, since the 3.80 version is only needed for the installation of the SDK. If you however do not want your system to update it anymore, add the line 'IgnorePkg = make' to your /etc/pacman.conf file.

tcl/tk-8.4.x without threads

There are problems running the simulator when pthreads are enabled, so we need to build tcl/tk without threads. To do this, we create another dir in the /var/abs/local and make a new PKGBUILD.

# mkdir /var/abs/local/tcl
# cd /var/abs/local/tcl
# nano -w PKGBUILD

The PKGBUILD file (just the enable-threads in the ./configure should be eliminated from the original PKGBUILD file you can retrieve from ABS):

# $Id: PKGBUILD,v 1.26 2006/07/19 17:39:13 jgc Exp $
# Maintainer: dorphell <>
# Committer: Judd Vinet <>
pkgdesc="The Tcl scripting language"
source=(${pkgver}- src.tar.gz)

build() {
  cd ${startdir}/src/tcl${pkgver}/unix
  sed -i -e "s/relid'/relid/" configure
  ./configure --prefix=/usr --disable-threads --disable-64bit
  make || return 1
  make INSTALL_ROOT=${startdir}/pkg install install-private-headers
  ln -sf tclsh8.4 ${startdir}/pkg/usr/bin/tclsh

Make the non-threaded package and install it:

# makepkg
# pacman -U tcl-8.4.13-2.pkg.tar.gz

If newer versions of tcl/tk become available, the non-threaded version will be overriden by the default threaded version. The new version and PKGBUILD from ABS can be adapted and installed in the same way or updates could be stopped by adding 'IgnorePkg = tcl tk' to your /etc/pacman.conf file.


Mount ISO

Mount the ISO image downloaded from (after free registration on the ibm website).

mkdir -p /mnt/cellsdk
mount -o loop CellSDK11.iso /mnt/cellsdk

Copy SDK packages

cp -r /mnt/cellsdk/software ~

Patch Install Script

RPM can not be allowed to check dependencies, so --nodeps should be added everywhere. A patch file can be downloaded.

cd ~/software
patch cellsdk cellsdk.patch

Installing SDK

sudo ./cellsdk install

This should fetch another bunch of rpm files and install the complete SDK succesfully.

Running the Simulator

Go to /opt/IBM/systemsim-cell/run/cell/linux directory and type sudo ../run_gui. You can run without root by changing the owner and group.

sudo chown -R /opt/IBM/systemsim-cell
sudo chgrp -R /opt/IBM/systemsim-cell 

cd /opt/IBM/systemsim-cell/run/cell/linux

If it gives you some segmentation fault, that means you've forgotten to install the tcl/tk without pthread versions.



I dont know why, but my first attempt to installation failed halfway. The /opt/IBM/cellsdk-1.1/sysroot was not a directory but an empty file. Deleting this empty file and reinitiating the install script took care of the problem.