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

Reply via email to