Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Build failure with OMPI-1.5 (clang-2.8, gcc-4.5.1 with debug options)
From: Jed Brown (jed_at_[hidden])
Date: 2010-10-14 19:26:52


On Fri, Oct 15, 2010 at 00:38, Jeff Squyres (jsquyres)
<jsquyres_at_[hidden]>wrote:

> Huh. Can you make V=1 to build libmpi and use the same kind of options to
> build your sample library?
>

Make log here

http://59A2.org/files/openmpi-1.5-clang-make.log

After some digging, this looks like a clang bug. First, from the comments
on

http://llvm.org/bugs/show_bug.cgi?id=3679

there seems to be some resistance to the #pragma weak g2 = g3, but since
these things work with clang-2.8, that isn't the whole story. Indeed,

#pragma GCC visibility push(default)
#pragma weak fake = real
#pragma GCC visibility pop

does not expose the symbol "fake". This must be a bug, but an arguably
better way to set up the aliasing is

int fake(int i) __attribute__((weak, alias("real")));

which does work. I'll report the bug, but maybe Open MPI could use a more
complete test for visibility working with weak aliasing? Or just don't
support clang-2.8.

Jed