Installing Cell Broadband Engine SDK
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.
Contents
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 <dorphell@archlinux.org> # Committer: Judd Vinet <jvinet@zeroflux.org> pkgname=tcl pkgver=8.4.19 pkgrel=1 pkgdesc="The Tcl scripting language" arch=('i686' 'x86_64') license=('custom') depends=(glibc) source=(http://downloads.sourceforge.net/sourceforge/tcl/tcl${pkgver}-src.tar.gz) url="http://tcl.sourceforge.net/" md5sums=('ade2c033a7b545ee108f3fdfeb629fcf') 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 fi 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='libtcl8.5..TCL_DBGX..so',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'," \ $startdir/pkg/usr/lib/tclConfig.sh }
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.
Installation
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 ../run_gui
If it gives you some segmentation fault, that means you've forgotten to install the tcl/tk without pthread versions.
Problems
Eclipse
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.
Other...
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.