Boost logo

Boost Users :

Subject: Re: [Boost-users] MPI auto-detection failed: unknown wrapper compiler mpic++
From: Johnny W (jwahnstroem_at_[hidden])
Date: 2009-04-18 17:12:38


wuguangjun <wuguangjun <at> gmail.com> writes:

> Hello boost-users,
> I install boost_1-38 in centOS5.3. with following command;
>  
> ./configure -with-libraries=all
>  
> Then I add "using mpi ;" into user-configure.jam, when I make the
> MakeFile ,an error occur,
>  
>
> ./tools/jam/src/bin.linuxx86/bjam  --user-config=user-config.jam 
> MPI auto-detection failed: unknown wrapper compiler mpic++
> Please report this error to the Boost mailing list: http://www.boost.org
> You will need to manually configure MPI support.
> warning: Graph library does not contain optional GraphML reader.
> note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
> note: directories containing the Expat headers and libraries, respectively.
> warning: skipping optional Message Passing Interface (MPI) library.
> note: to enable MPI support, add "using mpi ;" to user-config.jam.
> note: to suppress this message, pass "--without-mpi" to bjam.
> note: otherwise, you can safely ignore this message.
> Building Boost.Regex with the optional Unicode/ICU support disabled.
> Note: Please refer to the Boost.Regex documentation for more information
> Note: this is a strictly optional feature.
>  
> Is there something wrong?
>
First, you need to install the package "openmpi-devel". Do this as root:

  # yum install openmpi-devel

This should bring in a number of dependencies, including a package named
"mpi-selector". Once the installation has finished, done, use the MPI selector
tool to choose the MPI toolset you've just installed. You can get a list
of available MPI implementations using the command "mpi-selector". As an
example, here's how it looks on my 64-bit CentOS 5.3 system:

  # mpi-selector --list
  openmpi-1.2.7-gcc-i386
  openmpi-1.2.7-gcc-x86_64

Then, while still logged in as root, set the system-wide default by

  # mpi-selector --system openmpi-1.2.7-gcc-x86_64

Log out, then open a new terminal window (as your normal user) and try

  $ which mpic++
  /usr/lib64/openmpi/1.2.7-gcc/bin/mpic++

Once you have installed openmpi properly and used mpi-selector, you should
be able to build boost. To fix the second warning, related to the Expat
libraries, edit the Makefile and change the BJAM_CONFIG line to this:

BJAM_CONFIG=-sICU_PATH=/usr -sEXPAT_INCLUDE=/usr/include \
 -sEXPAT_LIBPATH=/usr/lib64

(That should really be only one line of text without the backslash)

If you're using a 32-bit CentOS, the EXPAT_LIBPATH should be /usr/lib.
You'll need the package "expat-devel" installed for this to work.

Good luck!

  


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net