Installing Cell Broadband Engine SDK

From ArchWiki
Revision as of 15:36, 8 July 2010 by Ardemiranda (talk | contribs) (Undo revision 111324 by XavierErnandez (Talk) link with inappropriate content:
Jump to navigation Jump to search

The CBE SDK installation only supports the Fedora 7 or RHEL linux distributions. I managed to install it on my Arch Linux system with the help of a post in the gentoo forum, and doing some trial/error.

Required Packages

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

Core 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

The simulator requires tk and tcl in pre-8.5 versions, and compiled without thread support.

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 356 2008-04-18 22:56:27Z aaron $
# Maintainer: dorphell <>
# Committer: Judd Vinet <>
pkgdesc="The Tcl scripting language"
arch=('i686' 'x86_64')

build() {
  cd ${startdir}/src/tcl${pkgver}/unix
if [ "$CARCH" = "x86_64" ]; then
  ./configure --prefix=/usr --disable-threads --enable-64bit
  else   ./configure --prefix=/usr --disable-threads --disable-64bit
  make || return 1
  make INSTALL_ROOT=${startdir}/pkg install install-private-headers
  ln -sf tclsh8.5 ${startdir}/pkg/usr/bin/tclsh
  # install license
  install -Dm644 ../license.terms $startdir/pkg/usr/share/licenses/$pkgname/LICENSE

 # remove buildroot traces / fixes #3602
 sed -i \
 -e "s,^TCL_BUILD_LIB_SPEC='-L.*/unix,TCL_BUILD_LIB_SPEC='-L/usr/lib," \
 -e "s,^TCL_SRC_DIR='.*',TCL_SRC_DIR='/usr/include'," \
 -e "s,^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix,TCL_BUILD_STUB_LIB_SPEC='-L/usr/lib," \
 -e "s,^TCL_BUILD_STUB_LIB_PATH='.*/unix,TCL_BUILD_STUB_LIB_PATH='/usr/lib," \
 -e "s,^TCL_LIB_FILE='',TCL_LIB_FILE=\"libtcl8.5\$\{TCL_DBGX\}.so\"," \
 -e "s,^TCL_CC_SEARCH_FLAGS='\(.*\)',TCL_CC_SEARCH_FLAGS='\1:/usr/lib'," \
 -e "s,^TCL_LD_SEARCH_FLAGS='\(.*\)',TCL_LD_SEARCH_FLAGS='\1:/usr/lib'," \

Make the non-threaded package and install it:

# makepkg
# pacman -U tcl-8.4.19-1.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.


Get ISOs and build the SDK

You'll have to download the two 3.0 SDK ISOs for Fedora 7 manually from IBMs website, which requires free registration. Place them in a build folder, and get the cellsdk build files from the AUR, and place them in the same folder. Now the SDK is ready to be build, but you will have to do it as root because the PKGBUILD uses mount of loop-devices to extract packages from the ISOs. Build the SDK by running:

sudo makepkg --asroot

Now a cellsdk-3.0-1-x86_64.pkg.tar.gz should be ready for installation! Just run

sudo pacman -A cellsdk-3.0-1-x86_64.pkg.tar.gz

and now the SDK is installed and ready for use.

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.



The SDK contains plugins for Eclipse, but unfortunately they do not work for the Eclipse version currently in the Arch Linux repositories, so unless you install an older version of Eclipse, the plugins cannot be used. Instead consider using makefiles! There are some simple examples in the SDK which can be build on.


Since the PKGBUILD does not run the official install script there is bound to be something not setup completely correct... Place a comment on the cellsdk AUR page.