Version 1 (modified by tramer, 14 years ago) (diff) |
---|
Installing ccaffeine on BG/P (Surveyor at Argonne)
Current build instructions (Notes by Stephen Tramer [email protected]…)
You will need both the latest versions of cca-spec-babel and ccaffeine from the repository for this. ccaffeine is not configured for spec-classic or spec-neo; if you want either of those features you're on your own (but they should compile out of the box with a little love to the config/config.sub file to add the -bgp OS type; see the config/config.sub file for cca-spec-babel).
See here for instructions on checking out the cca-tools sources. You will need to build the latest version of babel as described on poring babel to BG/P before attempting any of this.
Building cca-spec-babel
Check cca-spec-babel out from the repository, configure, and build. For reference, I used the following:
./configure CPP="gcc -E" CC=mpixlc CXX=mpixlcxx FC=mpixlf2003 F77=mpixlf77 \ --with-babel-config=$BABEL_INSTALL/bin/powerpc64-ibm-bgp-babel-config \ --with-libxml2=$LIBXML2_LOC --with-babel-python LDFLAGS="-G -qnostaticlink" \ --host=powerpc-bgp-linux-gnu --target=powerpc64-ibm-bgp \ target_alias=powerpc64-ibm-bgp --prefix=$CCA_INSTALL_DIR
Now, you'll need to edit some of the files generated by cca-spec-babel by hand. Edit $CCA_INSTALL_DIR/bin/genSCLCCA.sh to refer to the proper babel libtool (edit the libtool variable definition to point to $CCA_INSTALL_DIR/bin/powerpc64-ibm-bgp-babel-libtool)
Building ccaffeine
Building ccaffeine will not work out of the box.
- Edit $CCAFE_SRC/config/shlib.m4:
Index: config/shlib.m4 =================================================================== --- config/shlib.m4 (revision 190) +++ config/shlib.m4 (working copy) @@ -1133,7 +1133,6 @@ CXX_SHLIB_LD="${CXX} -shared" DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" - LDFLAGS="-rdynamic" CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} else @@ -1175,7 +1174,6 @@ CXX_SHLIB_LD="${CXX} -shared" DL_OBJS="" DL_LIBS="-ldl" - LDFLAGS="-rdynamic" CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" else
This prevents the '-rdynamic' flag, which is not compatible with xlC, from being passed to the linker.
- Remove all instances of -Wall flags. '-Wall' is not compatible with xlC. You will need to edit $CCAFE_SRC/cxx/Makefile.Rules.in and $CCAFE_SRC/cxx/gnu/getopt/Makefile.in.
- Run 'aclocal && autoconf'.
- Configure:
./configure CPP="gcc -E" CC=mpixlc CXX=mpixlcxx FC=mpixlf2003 F77=mpixlf77 \ --with-csb-config=$CCA_INSTALL_DIR/bin/cca-spec-babel-config \ --with-babel-python LDFLAGS="-G -qnostaticlink" --host=powerpc-bgp-linux-gnu \ --target=powerpc64-ibm-bgp target_alias=powerpc64-ibm-bgp --prefix=$CCA_INSTALL_DIR \ --with-boost=/home/norris/soft/boost-1_38_0/include/boost-1_38
- Build, and install.