[mpich-discuss] libmpich.so -> libmpl.so dependency
Steve Krueger
Steve.Krueger at sas.com
Mon Apr 11 13:25:08 CDT 2011
In my environment, I dynamically load libmpich.so with dlopen(),
and fetch the entrypoints I need with dlsym(). I've been using
1.2 (with MPD) and this method works well. I just switched to 1.3.2p1
(with HYDRA), and ran into a dependency issue. libmpich.so uses symbols
from libmpl.so:
$ objdump -t libmpich.so | grep MPL
0000000000000000 *UND* 0000000000000000 MPL_trfree
0000000000000000 *UND* 0000000000000000 MPL_env2str
but does not have a dependency against libmpl.so:
$ ldd libmpich.so
librt.so.1 => /lib64/librt.so.1 (0x00002aaaaaea3000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab0ac000)
libc.so.6 => /lib64/libc.so.6 (0x00002aaaab2c7000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c37000000)
So, if I try to dlopen("libmpich.so"), I get a failure. Adding
this environment variable gets me around the issue:
export LD_PRELOAD=/rdstore/mpich2-1.3.2p1/lib/libmpl.so
but it would be great if I didn't have to do that. Would it be possible
to add libmpl.so to the link of libmpich.so so I don't need the preload?
Thanks,
sk
More information about the mpich-discuss
mailing list