Hi,
I am trying to get boost::mpi working on windows system so I have download 1_35_0 version and compile it for msvc 7.1.
When I tried to compile sample code
#include
#include <iostream>
#include
namespace mpi = boost::mpi;
int main(int argc, char* argv[])
{
mpi::environment env(argc, argv);
mpi::communicator world;
if (world.rank() == 0) {
world.send(1, 0, std::string("Hello"));
std::string msg;
world.recv(1, 1, msg);
std::cout << "I am Process #" << world.rank() << " This is message from 1" << msg << "!" << std::endl;
} else {
std::string msg;
world.recv(0, 0, msg);
std::cout << "I am Process #" << world.rank() << " This is message from 0"<< msg << ", ";
std::cout.flush();
world.send(0, 1, std::string("world"));
}
/*
std::string value;
if (world.rank() == 0) {
value = "Hello, World!";
}
broadcast(world, value, 0);
std::cout << "I am Process #" << world.rank() << " of " << world.size() << " says " << value
<< std::endl;
*/
return 0;
}
Build Log
------- Build started: Project: MPIProj, Configuration: Debug|Win32 -------
Command Lines Creating temporary file "c:\WorkData\DP_Architecture\src\MPIProj\Debug\RSP000001.rsp" with contents
[
/Od /I "C:\WorkData\mnt_nb\boost\boost_1_35_0\\" /I "C:\WorkData\mnt_nb\boost\MPICH2\Include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Gm /EHsc /RTC1 /MLd /Fo"Debug/" /Fd"Debug/vc70.pdb" /W3 /c /Wp64 /ZI /TP
.\MPIProj.cpp
]
Creating command line "cl.exe @c:\WorkData\DP_Architecture\src\MPIProj\Debug\RSP000001.rsp /nologo"
Output Window Compiling...
MPIProj.cpp
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\mpi_datatype_primitive.hpp(57) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\mpi_datatype_primitive.hpp(75) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\packed_oprimitive.hpp(53) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\packed_oprimitive.hpp(84) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\packed_oprimitive.hpp(95) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\packed_oprimitive.hpp(99) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\packed_iprimitive.hpp(63) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\WorkData\mnt_nb\boost\boost_1_35_0\boost\mpi\detail\packed_iprimitive.hpp(107) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\workdata\mnt_nb\boost\boost_1_35_0\boost\mpi\communicator.hpp(1124) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'f:\vs70builds\3077\vc\Compiler\Utc\src\P2\main.c', line 148)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Results Build log was saved at "file://c:\WorkData\DP_Architecture\src\MPIProj\Debug\BuildLog.htm"
MPIProj - 1 error(s), 8 warning(s)
because of this problem I tried to use eclipse and gcc compiler
eradr@smopc17mailto:eradr@smopc17 /cygdrive/c/WorkData/mnt_nb/boost/boost_1_35_0
$ gcc -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,
d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boe
hm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
eradr@smopc17mailto:eradr@smopc17 /cygdrive/c/WorkData/mnt_nb/boost/boost_1_35_0
BUT now there is a problem building boost libs....
$ bjam.exe
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: No python installation configured and autoconfiguration
failed. See http://www.boost.org/libs/python/doc/building.html
for configuration instructions or pass --without-python to
suppress this message and silently skip all Boost.Python targets
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(don't panic: this is a strictly optional feature).
Skipping build of: libs/python/build/boost_python <build>no in common properties
...patience...
...patience...
...found 3642 targets...
...updating 150 targets...
gcc.compile.c++ bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\basic_text_woprimitive.o
libs\serialization\src\basic_text_woprimitive.cpp:14:2: #error "wide char i/o not supported on this platform"
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\basic_text_woprimitive.o" "l
ibs\serialization\src\basic_text_woprimitive.cpp"
...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\basic_text_woprimitive.o...
gcc.compile.c++ bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\binary_wiarchive.o
libs\serialization\src\binary_wiarchive.cpp:14:2: #error "wide char i/o not supported on this platform"
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\binary_wiarchive.o" "libs\se
rialization\src\binary_wiarchive.cpp"
I have asked google and found http://article.gmane.org/gmane.comp.lib.boost.devel/168511 so I have changed c:\WorkData\mnt_nb\boost\boost_1_35_0\libs\serialization\build\Jamfile.v2 like that but error is still there.
any idea what is wrong or how to get those libs...
Ervin