Boost logo

Boost-Build :

Subject: [Boost-build] Building Boost 1.44 with mpi enabled
From: Mike Van Duzee (mike.vanduzee_at_[hidden])
Date: 2012-07-26 07:52:17


I am having issues building boost with mpi enabled.
(Windows 7 64bit, Visual Studio 2008)

- OpenMPI 1.6 was downloaded and compiled at C:\\openmpi

- The following has been added to my user-config.jam:

using mpi : C:\\openmpi\\installed\\bin\\mpicc.exe
   : <include>C:\\openmpi\\installed\\include
<library-path>C:\\openmpi\\installed\\lib
   : <find-shared-library>cxx <find-shared-library>mpi
   ;

- The '--with-mpi' flag has been added to the call to bjam.exe.

When I build it looks like every OpenMPI symbol is unresolved:

msvc.link.dll
bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.dll
    Creating library
bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.lib
and object
bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.exp
text_skeleton_oarchive.obj : error LNK2001: unresolved external symbol
MPI_Error_class
timer.obj : error LNK2001: unresolved external symbol MPI_Error_class
packed_skeleton_iarchive.obj : error LNK2001: unresolved external symbol
MPI_Error_class
packed_skeleton_oarchive.obj : error LNK2001: unresolved external symbol
MPI_Error_class
point_to_point.obj : error LNK2019: unresolved external symbol
MPI_Error_class referenced in function "private: void __cdecl
boost::mpi::packed_oprimitive::save_impl(void const *,struct
ompi_datatype_t *,int)"
(?save_impl_at_packed_oprimitive_at_mpi@boost@@AEAAXPEBXPEAUompi_datatype_t@@H_at_Z)
request.obj : error LNK2001: unresolved external symbol MPI_Error_class

...

timer.obj : error LNK2019: unresolved external symbol MPI_Wtime
referenced in function "public: void __cdecl
boost::mpi::timer::restart(void)" (?restart_at_timer@mpi_at_boost@@QEAAXXZ)
timer.obj : error LNK2019: unresolved external symbol MPI_Wtick
referenced in function "public: double __cdecl
boost::mpi::timer::elapsed_min(void)const "
(?elapsed_min_at_timer@mpi_at_boost@@QEBANXZ)
bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.dll
: fatal error LNK1120: 79 unresolved externals

call "C:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\vcvarsall.bat" amd64 >nul
link /NOLOGO /INCREMENTAL:NO /DLL /DEBUG /MACHINE:X64 /subsystem:console
/out:"bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.dll"
/IMPLIB:"bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.lib"
/LIBPATH:"d:\thirdparty\msvc2008\x64\OPENMPI\1.6\installed\lib"
@"bin.v2\libs\mpi\build\msvc-9.0\debug\address-model-64\threading-multi\boost_mpi-vc90-mt-gd-1_44.dll.rsp"
         if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%

I'm sure I'm just missing something simple, but I'm kinda new to this
and can't figure out what. Any help would be appreciated.

Thanks,
Mike


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk