Ew. Yes, I can see this being a problem.
I'm guessing that the real issue is that OMPI embeds the libltdl from
LT 2.2.6a inside libopen_pal (one of the internal OMPI libraries).
Waving my hands a bit, but it's not hard to imagine some sort of clash
is going on between the -lltdl you added to the command line and the
libltdl that is embedded in OMPI's libraries.
Can you verify that this is what is happening?
If it is, I wonder if we should petition the LT authors to give us a
configure option to prefix all the symbols in libltdl so that we don't
get clashes like this -- similar to what we do with libevent and PLPA
(both of which are also embedded in Open MPI's internal libraries).
On Jan 23, 2009, at 9:04 AM, Roy Dragseth wrote:
> Hi, all.
> I do not know if this is to be considered a real bug or not, I'm just
> reporting it here so people can find it if they google around for
> the error
> message this produces. There is a backtrace at the end of this mail.
> Problem description:
> Openmpi 1.3 seems to be nonfunctional when used with libltdl in
> libtool v1.5
> that is installed on CentOS (aka RH EL) 4 and 5. Upgrading to
> v2.2.6a (and maybe earlier versions) solves the problem. We saw
> this problem
> with both gcc and icc.
> Here is a code snippet that is extracted from the real application.
> #include <mpi.h>
> #include <ltdl.h>
> int main(int argc,char *argv)
> char *dummy="dummy";
> const lt_dlhandle hModule = lt_dlopenext(dummy);
> This will crash in MPI_Init when using libtool 1.5.X, if you comment
> lt_dlopenext it will run normally.
> I can provide a complete example if neccessary.
> As I said earlier, upgrading to libtool 2.2.6a solved the problem
> for us.
> Here is the backtrace:
> *** Process received signal ***
> Signal: Segmentation fault (11)
> Signal code: (128)
> Failing at address: (nil)
> [ 0] /lib64/tls/libpthread.so.0 [0x3ffce0c4f0]
> [ 1] /global/apps/openmpi/1.3rc2/lib/libopen-pal.so.0 [0x2a95d4bce5]
> [ 2] /global/apps/openmpi/1.3rc2/lib/libopen-pal.so.0(lt_dlopenadvise
> +0xf0) [0x2a95d4b470]
> [ 3] /global/apps/openmpi/1.3rc2/lib/libopen-pal.so.0 [0x2a95d56e1f]
> [ 4] /global/apps/openmpi/1.3rc2/lib/libopen-
> pal.so.0(mca_base_component_find+0x58d) [0x2a95d5657d]
> [ 5] /global/apps/openmpi/1.3rc2/lib/libopen-
> pal.so.0(mca_base_components_open+0x1ae) [0x2a95d581be]
> [ 6] /global/apps/openmpi/1.3rc2/lib/libopen-
> pal.so.0(opal_paffinity_base_open+0xad) [0x2a95d73ddd]
> [ 7] /global/apps/openmpi/1.3rc2/lib/libopen-pal.so.0(opal_init+0x64)
> [ 8] /global/apps/openmpi/1.3rc2/lib/libopen-rte.so.0(orte_init+0x1e)
> [ 9] /global/apps/openmpi/1.3rc2/lib/libmpi.so.0 [0x2a95a38fee]
>  /global/apps/openmpi/1.3rc2/lib/libmpi.so.0(PMPI_Init_thread
>  nest-ompi_1.3rc2/bin/nest(_ZN4nest12Communicator4initEPiPPPc
>  nest-ompi_1.3rc2/bin/nest(main+0x74) [0x4a7674]
>  /lib64/tls/libc.so.6(__libc_start_main+0xdb) [0x339271c3fb]
>  nest-ompi_1.3rc2/bin/nest(_ZNSt8ios_base4InitD1Ev+0x5a)
> *** End of error message ***
> The Computer Center, University of Tromsø, N-9037 TROMSØ Norway.
> phone:+47 77 64 41 07, fax:+47 77 64 41 00
> Roy Dragseth, Team Leader, High Performance Computing
> Direct call: +47 77 64 62 56. email: roy.dragseth_at_[hidden]
> users mailing list