пытаюсь собрать Boost MPI, но файлы lib не создаются. Что происходит?

Я пытаюсь запустить программу с Boost MPI, но дело в том, что у меня нет .lib. Поэтому я пытаюсь создать его, следуя инструкциям на странице http://www.boost.org/doc/libs/1_43_0/doc/html/mpi/getting_started.html#mpi.config

В инструкции написано "Для многих пользователей, использующих LAM/MPI, MPICH или OpenMPI, настройка почти автоматическая", я получил себе OpenMPI на C:\, но больше с ним ничего не делал. Нужно ли нам что-то с этим делать? Я также получил себе MPICH2 в Program Files и больше ничего с ним не делал. На этом этапе инструкции я совершенно не уверен в том, что именно мы должны делать.

Кроме того, еще одно утверждение из инструкции: «Если у вас еще нет файла user-config.jam в вашем домашнем каталоге, скопируйте туда tools/build/v2/user-config.jam». Ну, я просто делаю то, что он говорит. Я получил «user-config.jam» в C:\boost

C:\boost_1_43_0>bjam --with-mpi
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 the Boost C++ Libraries.


warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
warning: Unable to construct ./stage-unversioned
warning: Unable to construct ./stage-unversioned

Component configuration:

    - date_time                : not building
    - filesystem               : not building
    - graph                    : not building
    - graph_parallel           : not building
    - iostreams                : not building
    - math                     : not building
    - mpi                      : building
    - program_options          : not building
    - python                   : not building
    - random                   : not building
    - regex                    : not building
    - serialization            : not building
    - signals                  : not building
    - system                   : not building
    - test                     : not building
    - thread                   : not building
    - wave                     : not building

...found 1 target...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\boost_1_43_0

The following directory should be added to linker library paths:

    C:\boost_1_43_0\stage\lib


C:\boost_1_43_0>
43_0> вместе с «использованием mpi;» в файл.

Далее я сделал следующее: bjam --with-mpi

C:\boost_1_43_0>bjam --with-mpi
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 the Boost C++ Libraries.


warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
warning: Unable to construct ./stage-unversioned
warning: Unable to construct ./stage-unversioned

Component configuration:

    - date_time                : not building
    - filesystem               : not building
    - graph                    : not building
    - graph_parallel           : not building
    - iostreams                : not building
    - math                     : not building
    - mpi                      : building
    - program_options          : not building
    - python                   : not building
    - random                   : not building
    - regex                    : not building
    - serialization            : not building
    - signals                  : not building
    - system                   : not building
    - test                     : not building
    - thread                   : not building
    - wave                     : not building

...found 1 target...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\boost_1_43_0

The following directory should be added to linker library paths:

    C:\boost_1_43_0\stage\lib


C:\boost_1_43_0>

Я вижу, что в C:\boost

C:\boost_1_43_0>bjam --with-mpi
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 the Boost C++ Libraries.


warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
warning: Unable to construct ./stage-unversioned
warning: Unable to construct ./stage-unversioned

Component configuration:

    - date_time                : not building
    - filesystem               : not building
    - graph                    : not building
    - graph_parallel           : not building
    - iostreams                : not building
    - math                     : not building
    - mpi                      : building
    - program_options          : not building
    - python                   : not building
    - random                   : not building
    - regex                    : not building
    - serialization            : not building
    - signals                  : not building
    - system                   : not building
    - test                     : not building
    - thread                   : not building
    - wave                     : not building

...found 1 target...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\boost_1_43_0

The following directory should be added to linker library paths:

    C:\boost_1_43_0\stage\lib


C:\boost_1_43_0>
43_0\stage\lib есть много библиотек, но я не вижу следов libboost_mpi-vc100-mt-1_43.lib или libboost_mpi-vc100-mt-gd-1_43.lib вообще. Это библиотеки, необходимые для компоновки в приложениях mpi.

Что может пойти не так, если библиотеки не строятся?


person Karl    schedule 23.05.2010    source источник


Ответы (2)


Я подозреваю, что он просто не читает ваш файл user-config.jam... Когда сборка обращается к файлу user-config.jam и ищет его, она делает это в папке %HOME%. Ни в корневом каталоге исходников Boost, ни в текущем каталоге. Но вы можете заставить его использовать определенный файл user-config.jam с опцией: bjam --user-config=user-config.jam .... Который будет искать его только в текущем каталоге. Или вы также можете указать полный путь к файлу. Вы должны прочитать комментарии в файле инструмента mpi.jam (mpi.jam), так как в нем объясняется, при каких условиях автоматически настраиваются инструменты mpi. В частности, примечание о наличии mpic++ на вашем пути.

person GrafikRobot    schedule 23.05.2010

Я собрал boost 1.55 с помощью mpi с помощью следующих команд: ./bjam link=shared --prefix=/software/boost_1.55 install

vim инструменты/сборка/v2/user-config.jam

--›› в конце user-config.jam с помощью mpi ; (без кавычек)

./b2 link=shared --prefix=/software/boost_1.55 install

Если я предоставлю --with-mpi, у меня будет та же проблема, поэтому я построил ее таким образом.

person flo    schedule 08.05.2014