Boost logo

Boost-Build :

From: Aydin Buluc (aydin_at_[hidden])
Date: 2007-05-22 03:05:33


Hi Douglas,
Thanks for the pointer but that doesn't help me much. I guess setting up the
library paths are not enough, I have to inform about the include path also
since the complaints was basically "unable to find mpi.h"

Along the way, here is the mpCC_r script of IBM (this is the thread safe, 64
bit version, mpCC is almost similar without the "_r" suffix in the
libraries ):

#!/bin/ksh
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
#
#
# Licensed Materials - Property of IBM
#
# (C) COPYRIGHT International Business Machines Corp. 1996,2004
# All Rights Reserved
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
# IBM_PROLOG_END_TAG
# 5765-D93 (C) COPYRIGHT IBM CORP 1996,1999
# All Rights Reserved
# Licensed Materials - Property of IBM
#
# US Government Users Restricted Rights - Use, duplication or disclosure
# restricted by GSA ADP Schedule Contract with IBM Corp.
#
# set -o verbose

# If MP_PREFIX is unset or null, _BASE evaluates to /usr/lpp/ppe.poe
# If MP_PREFIX is set, _BASE evaluates to $MP_PREFIX/ppe.poe

# If called with no arguments, echo a syntax summary
if [ $# -eq 0 ]
then
# Display the man pages
 if [ -r /usr/man/cat1/mpCC_r.1 ]
 then
 /usr/bin/more -c /usr/man/cat1/mpCC_r.1
 else
 echo "No help available for command mpCC_r"
 fi
 exit 1
fi

# Support for PE Benchmarker tracing is as follows:
#
# - If the MP_UTE flag is set to "YES", then we look for the presence of
# the library /usr/lpp/ppe.perf/lib/libute_r.a. If this library is
# present, then we add the following linker options:
#
   "-lute_r -L/usr/lpp/ppe.perf/lib -bE:/usr/lpp/ppe.perf/lib/libute_r.exp".
# If the MP_UTE flag is set but the UTE library is not present we do
# nothing.

typeset -u MP_UTE=$MP_UTE

if [[ "$MP_UTE" = "YES" ]]
then
  if [[ -f /usr/lpp/ppe.perf/lib/libute_r.a ]] &&
     [[ -f /usr/lpp/ppe.perf/lib/libute_r.exp ]]
  then
    _USE_UTE="YES"
  else
    echo "PE Benchmarker library not found"
    echo
  fi
fi

_BASE=${MP_PREFIX:-/usr/lpp}/ppe.poe

_LIBROOT=$_BASE/lib
_LIBR="-L$_LIBROOT "
_LIBD="-L$_LIBROOT/ip"
_LIB_THREADS="-L$_LIBROOT/threads"

_LIB="$_LIB_THREADS $_LIBR $_LIBD"

_INCLUDE=$_BASE/include

_STANZA=xlC_r
# Instead of using POE config file, put all options on command line

_FLAGS="-I$_INCLUDE -binitfini:poe_remote_main -lmpi_r -lvtd_r"

_LAPI_BASE=${MP_PREFIX:-/opt}/rsct/lapi
_LAPI_INCDIR=$_LAPI_BASE/include
_LAPI_LIBDIR=$_LAPI_BASE/lib
_LAPI_LINK=/usr/lib/liblapi_r.a
#
# If the LAPI library exists on this machine as a symbolic
# link from /usr/lib, assume LAPI is installed and go ahead
# add the appropriate LAPI compile flags.
#
if [ -L $_LAPI_LINK ]
then
 #
 # Since the LAPI library will be linked to /usr/lib,
 # no -L flag is required here for successful compilation.
 # Also, the flag isn't needed to ensure that the loader
 # finds the library at runtime since the /usr/lib link exists.
 #
 _FLAGS="$_FLAGS -I$_LAPI_INCDIR -llapi_r"
 #
 # If the css_shared.h header file does not exist in /usr/include,
 # pick up the one LAPI ships.
 #
 if [ ! -r /usr/include/css_shared.h ]
 then
  _FLAGS="$_FLAGS -I$_LAPI_BASE/dev/include"
 fi
fi

_ENTRY_FLAG=
_D7_COMPAT=

opts=
args=$#
while [ $args -gt 0 ]
do
 param=$1
 shift
 args=`expr $args - 1`
 case $param in
#
#
 *\'*) opts="$opts \"$param\"" ;;
 *\ *|*\"*) opts="$opts '$param'" ;;
 -v) _FLAGS="$_FLAGS $param " ; MP_VERBOSE=YES ;;
 -d7) _D7_COMPAT=YES ;;
 -cpp) _FLAGS="$_FLAGS -D_MPI_CPP_BINDINGS " ;;
 *) opts="$opts $param " ;;
 esac
done

# Check for POSIX Threads Draft 7 Compatibility. If programs are
# to be compiled with pthreads Draft 7, include the draft 7 MPI
# and LAPI (if found) libraries, and use the pthreads compatibility
# library.

if [ "$_D7_COMPAT" = "YES" ]; then

  _FLAGS="$_FLAGS -lpthreads_compat"
fi
_FLAGS="$_FLAGS -lpthreads"

# Add UTE lib if necessary
if [[ "$_USE_UTE" = "YES" ]]; then
    _FLAGS="-lute_r -L/usr/lpp/ppe.perf/lib -bE:/usr/lpp/ppe.perf/lib/libute_r.exp
$_FLAGS"
fi

if [ "$MP_VERBOSE" = "YES" ]; then
 echo xlC_r $opts $_FLAGS $_LIB
fi

eval "xlC_r $opts $_FLAGS $_LIB"

rc=$?

exit $rc


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk