BCCD:PowerPC

From Earlham CS Department
Revision as of 23:17, 6 October 2005 by Tmcnulty (talk | contribs)
Jump to navigation Jump to search

The BCCD, or Bootable Cluster CD, is a diskless cluster solution "created to facilitate instruction of parallel computing aspects and paradigms." More information about the BCCD can be obtained from bccd.cs.uni.edu, as well as from the BCCD's main wiki, which this page is meant to complement.

Building the BCCD on PowerPC

See also: BCCD weblog

Setting Up Your Build Environment

Base System: Debian GNU/Linux testing with development tools. The Debian installer can be netbooted on most NewWorld PowerMacs. See the PowerPC Kernel Archives' Mac netboot page for instructions.

To setup your Debian environment, download bccd-dpkg-selections and run dpkg --set-selections < bccd-dpkg-selections then apt-get dselect-upgrade:

su -
/* enter root pass */
wget http://hermes.osuosl.org/~tmcnulty/bccd-dpkg-selections
dpkg --set-selections < bccd-dpkg-selections
apt-get dselect-upgrade

Building the BBC-PPC ISO

/* Check out the cvs tree anonymously */
cvs -d:pserver:anonymous@bccd.cs.uni.edu:/ login
/* hit return when prompted for a password */
cvs -d:pserver:anonymous@bccd.cs.uni.edu:/ co bccd

/* OR: Check out the cvs tree with a real user account */
export CVS_RSH=ssh
export CVSROOT=username@bccd.cs.uni.edu:/var/lib/cvs
cvs co bccd

/* execute the build */
export singularity_GARCH=ppc
cd bccd/meta/lnx-bbc
make build
/* wait a long, long, long time */

TODO List for BCCD/PowerPC

Fix Runtime Build Environment

1) /etc/ld.so.conf

change /lib/gcc-lib/i386-lnxbbc-linux to /lib/gcc-lib/powerpc-lnxbbc-linux

bccd/special/bbc-provided/files/ld.so.conf

2) LD_LIBRARY_PATH in /etc/bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/gcc-lib/i386-lnxbbc-linux/ should be: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib/gcc-lib/powerpc-lnxbbc-linux/

bccd/special/bbc-provided/files/bashrc

3) Fix library install dir:

ld looks at "/tmp/${USER}.build/staging/singularity/image/lib" to find the libraries that are in "/lib":

/bin/../lib/gcc-lib/powerpc-lnxbbc-linux/3.2.3/../../../../powerpc-lnxbbc-linux/bin/ld: cannot find //tmp/gray.build/staging/singularity/image//lib/libc.so.6 collect2: ld returned 1 exit status

Not sure what needs to be changed here.. (the quick fix on the image is mkdir -p /tmp/gray.build/staging/singularity/image && ln -sf /lib /tmp/gray.build/staging/singularity/image/lib)

4) CPP defaults to /lib/cpp, but cpp is at /bin/cpp and /usr/bin/cpp

5) MPICC

export MPICC=/lam-mpi/bin/mpicc

so mpicc is found?

6) LDFLAGS - may be fixed once above issues are addressed

Maybe this will come automatically once LD_LIBRARY_PATH and/or ld.so.conf is fixed, but:

export LDFLAGS="-L/lib/gcc-lib/powerpc-lnxbbc-linux"

is currently necessary while building FFTW:

checking whether the Fortran 77 compiler (f77 ) works... no

configure: error: installation or configuration problem: Fortran 77 compiler cannot create executables.

(can't find -lfrtbegin)

Build and Test Packages

To Build and Test

perfex

To Test

gromacs - test multinode runs