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 <boost/mpi.hpp>
#include
<iostream>
#include
<boost/serialization/string.hpp>
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@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)
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"
any idea what is
wrong or how to get those libs...
Ervin