No, actually, my report isn't about that issue at all. I'm not
talking about making an entirely statically built application. I'm
talking about a statically compiled Open MPI with a dynamically
linked application and OFED. Take a look at the output of mpicc -
showme -- it's not adding *ANY* -l or -L options for InfiniBand.
This is something wrong with Open MPI's configure, which has changed
since v1.2. On v1.2, the same commands result in:
[10:54] brbarret_at_odin:pts/27 v1.2> mpicc -showme
include -pthread -L/usr/local/ofed/lib64 -L/u/brbarret/Software/
x86_64-unknown-linux-gnu/ompi/devel/lib -lmpi -lopen-rte -lopen-pal -
libverbs -lrt -lnuma -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl
[10:55] brbarret_at_odin:pts/27 examples> make ring_c
mpicc -g ring_c.c -o ring_c
[10:55] brbarret_at_odin:pts/27 examples>
On Oct 1, 2007, at 10:21 PM, Jeff Squyres wrote:
> This is a known issue; no one had expressed any desire to have it
> Feel free to file a ticket and fix if you'd like...
> On Oct 1, 2007, at 11:56 PM, Brian Barrett wrote:
>> Hi all -
>> There's a problem with the OpenIB components when statically
>> linking. For whatever reason, the configure logic is not adding the
>> right -L and -l flags to the mpicc wrapper flags.
>> [17:26] brbarret_at_odin:pts/8 examples> mpicc -showme
>> gcc -I/u/brbarret/Software/x86_64-unknown-linux-gnu/ompi/devel/
>> include -pthread -L/u/brbarret/Software/x86_64-unknown-linux-gnu/
>> devel/lib -lmpi -lopen-rte -lopen-pal -lnuma -ldl -Wl,--export-
>> dynamic -lnsl -lutil -lm -ldl
>> [17:42] brbarret_at_odin:pts/8 examples> make hello_c
>> mpicc -g hello_c.c -o hello_c
>> (btl_openib_component.o)(.text+0x895): In function `openib_reg_mr':
>> btl_openib_component.c:304: undefined reference to `ibv_reg_mr'
>> and many more, obviously.
>> Good luck,
>> devel mailing list
> Jeff Squyres
> Cisco Systems
> devel mailing list