
Hi, I'm trying to build boost 1.38 with MPI support. The problem is that my system has more than one version of MPI installed, and the boost build uses the wrong one. I don't know how boost decides which one to use. The following are the only default defined by gcc, and none of them contains mpi.h g++ -Wp,-v -E - ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.1/../../../../x86_64-redhat-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include /usr/include End of search list. When I try building boost, I get a bunch of messages of the form ...failed gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.1.1/release/threading-multi/graph_communicator.o... gcc.compile.c++ bin.v2/libs/mpi/build/gcc-4.1.1/release/threading-multi/group.o g++: /opt/intel/mpi-rt/3.1: No such file or directory g++: unrecognized option '-rpath' In file included from ./boost/mpi/config.hpp:20, from ./boost/mpi/exception.hpp:16, from ./boost/mpi/group.hpp:18, from libs/mpi/src/group.cpp:9: /usr/local/intel/impi/3.1/include/mpi.h:35:8: error: #error The wrong version of mpi.h file was included, check include path. and the version of MPI I want to use is in /usr/local/mpich/... So is there some option to tell boost which mpi.h to include. I tried setting the CPLUS_INCLUDE_PATH variable, but it didn't change anything. I have no control over the OS itself. Thanks, a