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.