Philipp,

You are right that libtool doesn't need to put "/usr/lib64/libltdl.so" in
the compiler command line as the *only* solution.  I only meant that doing
so was preferred over the observed behavior of putting the full path of a
library for the wrong architecture.  You are correct that passing "-lltdl"
to the compiler unchanged would also be correct, but that is NOT what
libtool was doing.

What I observed is that make passed "-lltdl" to libtool, but libtool passed
"/usr/lib/libltdl.so" to the compiler *instead* of passing -lltdl.

You can see the libtool command and the compiler command it invoked in
http://www.open-mpi.org/community/lists/devel/2015/02/16881.php


Even if libtool had passed *both* "/usr/lib/libltdl.so" and "-lltdl" this
would still have been erroneous because the explicitly named .so is for the
wrong architecture.  That is why the error message is
   /usr/lib/libltdl.so: could not read symbols: File in wrong format
Rather than something about unresolved symbols that should have been in
libltdl.


I should note that I saw this on both a SLES-11.1 system and a Scientific
Linux 5.5 system, but in both cases only with Portland Group compilers
(Gnu, Intel, PathScale and Open64 compilers worked fine).  So, this is not
a SUSE-specific issue.

-Paul

On Thu, Feb 12, 2015 at 11:49 PM, Philipp Thomas <p...@suse.de> wrote:

> Hi Paul,
> sorry for chiming in so late, but this list is on low priority for me at
> the
> moment.
>
> * Paul Hargrove (phhargr...@lbl.gov) [20150202 22:58]:
>
> > is erroneous is that /usr/lib contains 32-bit libs (and target is
> 64-bit).
> > Therefore libtool should have replaced -lltdl with /usr/lib64/libltdl.so
>
> It doesn't need to do so. If only -lltdl is passed, the linker will by
> default search /usr/lib64. As I'm SUSE's maintainer of libtool (and openMPI
> :) maintainer, I'll gladly try to help with any issue.
>
> Philipp
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2015/02/16983.php
>



-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Computer Languages & Systems Software (CLaSS) Group
Computer Science Department               Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to