Boost logo

Boost Users :

From: Adrovic, Ervin (ervin.adrovic_at_[hidden])
Date: 2008-05-07 09:46:26


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_at_smopc17<mailto:eradr_at_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_at_smopc17<mailto:eradr_at_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



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