пытаюсь собрать Boost MPI, но файлы lib не создаются. В чем дело? - PullRequest
8 голосов
/ 23 мая 2010

Я пытаюсь запустить программу с 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 в вашем домашнем каталоге, скопируйте туда инструменты / build / v2 / user-config.jam». Ну, я просто делаю то, что говорит. Я получил "user-config.jam" в C: \ boost_1_43_0> вместе с "using 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_1_43_0 \ stage \ lib есть много библиотек, но я не вижу никаких следов libboost_mpi-vc100-mt-1_43.lib или libboost_mpi-vc100-mt-gd-1_43.lib. Это библиотеки, необходимые для компоновки в приложениях mpi.

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

Ответы [ 2 ]

14 голосов
/ 23 мая 2010

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

0 голосов
/ 08 мая 2014

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

vim tools / build / v2 / user-config.jam

- >> в конце user-config.jam "используя mpi;" (без кавычек)

. / B2 link = shared --prefix = / software / boost_1.55 установить

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

...