Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-06-07 08:14:37


On Jun 7, 2007, at 2:07 AM, Code Master wrote:

> I wish to compile openmpi-1.2.2 so that it:
> - support MPI_THREAD_MULTIPLE
> - enable profiling (generate gmon.out for each process after my
> client app finish running) to tell apart CPU time of my client
> program from the MPI library
> - static linking for everything (incl client app and all components
> of library openmpi)
>
> in the documentation, it says that --enable-mcs-static=<CSV list>
> will enable static linking of the modules in the list, however what
> can I specify if I want to statically link *all* mcs modules
> without knowing the list of modules available?

You should be able to do:

        ./configure --enable-static --disable-shared ...

This will do 2 things:

- libmpi (and friends) will be compiled as .a's (instead of .so's)
- all the MCA components will be physically contained in libmpi (and
friends) instead of being built as standalone plugins

> Also this is the plan for my command used for configuring openmpi:
>
> ./configure CFLAGS="-g -pg -O3 -static" --prefix=./ --enable-mpi-
> threads --enable-progress-threads --enable-static --disable-shared
> --enable-mcs-static --with-devel-headers

It's actually --enable-mca-static, not --enable-mcs-static.

However, that should not be necessary; the --enable-static and --
disable-shared should take care of pulling all the components into
the libraries for you.

-- 
Jeff Squyres
Cisco Systems