|
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