Thanks Hal, that helps clear things up a bit. I guess I should be a little more clear about what exactly I'm doing. Since CMake's FindMPI module seems to attempt to link to MPICH incorrectly if I directly specify the mpic++11, I have to instead manually specify its behaviour (and thankfully Jeff took care of this a month or two ago). One of my link commands generated by CMake looks like this:<div>
<br></div><div><div>/home/projects/llvm/bin/bgclang++   -Wall -std=c++11  -O3 -stdlib=libc++    -L/bgsys/drivers/ppcfloor/comm/gcc/lib -L/bgsys/drivers/ppcfloor/comm/sys/lib -L/bgsys/drivers/ppcfloor/spi/lib CMakeFiles/HypRadon-2d.dir/test/transform/HypRadon-2d.cpp.o  -o bin/transform/HypRadon-2d -rdynamic libcmake-dummy-lib.a -L/soft/libraries/alcf/current/gcc/LAPACK/lib -llapack -L/soft/libraries/essl/current/essl/5.1/lib64 -lesslbg -L/soft/compilers/ibmcmp-nov2012/xlf/bg/14.1/bglib64 -lxlf90_r -L/soft/compilers/ibmcmp-nov2012/xlsmp/bg/3.1/bglib64 -lxlomp_ser -L/soft/compilers/ibmcmp-nov2012/xlmass/bg/7.3/bglib64 -lmassv -lmass -lxlopt -lxlfmath -lxl -lgfortran -lm -lpthread -ldl -Wl,--allow-multiple-definition -lcxxmpich -lmpich -lopa -lmpl -ldl -lpami -lSPI -lSPI_cnk -lpthread -lrt -lstdc++ </div>
<div><br></div><div>Upon typing this, I noticed that both libc++ and libstdc++ are both being used (which I assume is bad). However, I believe that libstdc++ is depended upon by PAMI. I tried changing my build to replace the libstdc++ library with /home/projects/llvm/libc++/lib/libc++.so and received a long list of undefined references in PAMI to various entities in the std namespace. For example,</div>
<div><br></div><div>    /bgsys/drivers/ppcfloor/comm/sys/lib/libpami.a(component-pami--COLLECTIVESGEOM.cnk.o):(.toc+0x888): undefined reference to `std::ios_base::Init::~Init()'</div><div>/bgsys/drivers/ppcfloor/comm/sys/lib/libpami.a(component-pami--PROGRESS_EXTENSION.cnk.o): In function `__static_initialization_and_destruction_0':</div>
<div>/bgsys/drivers/toolchain/V1R2M0/gnu-linux/lib/gcc/powerpc64-bgq-linux/4.4.6/../../../../powerpc64-bgq-linux/include/c++/4.4.6/iostream:72: undefined reference to `std::ios_base::Init::Init()'</div><div>/bgsys/drivers/ppcfloor/comm/sys/lib/libpami.a(component-pami--PROGRESS_EXTENSION.cnk.o):(.toc+0x38): undefined reference to `std::ios_base::Init::~Init()'</div>
<div><br></div><div>Any ideas? <br></div><div><br></div><div>Jack</div><br><div class="gmail_quote">On Thu, Feb 28, 2013 at 4:36 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
----- Original Message -----<br>
> From: "Jack Poulson" <<a href="mailto:jack.poulson@gmail.com">jack.poulson@gmail.com</a>><br>
> To: "Hal Finkel" <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>><br>
> Cc: "Jeff Hammond" <<a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a>>, <a href="mailto:llvm-bgq-discuss@lists.alcf.anl.gov">llvm-bgq-discuss@lists.alcf.anl.gov</a><br>
> Sent: Thursday, February 28, 2013 6:12:21 PM<br>
> Subject: Re: [Llvm-bgq-discuss] Details behind MPI wrapper for bgclang++<br>
><br>
</div><div class="im">> Hi Hal,<br>
><br>
><br>
> As far as I can tell, there are only two distinct wrappers in the<br>
> /home/projects/llvm/mpi/clang/bin folder, mpicc and mpicxx, and all<br>
> of the others are simply symlinks to them. Is it possible that I am<br>
> misunderstanding?<br>
<br>
</div>You're correct, but the wrapper scripts alter their behavior slightly depending on the invoking name. Specifically, if you use mpic++ then you get the GNU C++03 mode by default with libstdc++ as the primary C++ STL implementation (and you still get libstdc++ in C++11 mode if you specify -std=c++11, etc.). If you use the mpic++11 wrapper, then you get libc++ as the primary C++ STL implementation (and the GNU C++11 mode by default). The libc++ implementation, being much more recent than the system libstdc++, provides significantly better C++11 support.<br>

<br>
Can you give me access to the directory with the core files so that I can take a look?<br>
<br>
Thanks again,<br>
Hal<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
><br>
> I am using the mpicxx wrapper.<br>
><br>
><br>
> Jack<br>
><br>
><br>
> On Thu, Feb 28, 2013 at 4:08 PM, Hal Finkel < <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> ><br>
> wrote:<br>
><br>
><br>
> Jack,<br>
><br>
> What Jeff said is correct. Jeff, I did not specifically update the<br>
> wrapper scripts after the V1R2 transition. Is there anything that I<br>
> need to do for that?<br>
><br>
> Also, Jack, are you using the mpic++ (with -std=c++11) wrapper or the<br>
> mpic++11 wrapper?<br>
><br>
> -Hal<br>
><br>
><br>
><br>
> ----- Original Message -----<br>
> > From: "Jeff Hammond" < <a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a> ><br>
> > To: "Jack Poulson" < <a href="mailto:jack.poulson@gmail.com">jack.poulson@gmail.com</a> ><br>
> > Cc: <a href="mailto:llvm-bgq-discuss@lists.alcf.anl.gov">llvm-bgq-discuss@lists.alcf.anl.gov</a><br>
> > Sent: Thursday, February 28, 2013 5:59:08 PM<br>
> > Subject: Re: [Llvm-bgq-discuss] Details behind MPI wrapper for<br>
> > bgclang++<br>
> ><br>
> > IBM does not provide MPI builds as part of the driver because they<br>
> > do<br>
> > not - and are not required to - provide LLVM builds of MPI.<br>
> ><br>
> > ALCF can provide /home/projects/pami/llvm/mpi.... if you want an<br>
> > MPI<br>
> > build using LLVM. I will do this next week during MiraCon as part<br>
> > of<br>
> > building MPICH2 1.5 + IBM patches from source.<br>
> ><br>
> > Best,<br>
> ><br>
> > Jeff<br>
> ><br>
> > On Thu, Feb 28, 2013 at 6:56 PM, Jack Poulson<br>
> > < <a href="mailto:jack.poulson@gmail.com">jack.poulson@gmail.com</a> > wrote:<br>
> > > Hello All,<br>
> > ><br>
> > > I am trying to run a C++11 code on BGQ and have been running into<br>
> > > strange<br>
> > > sporadic segfaults with non-helpful stack traces. I started<br>
> > > looking<br>
> > > through<br>
> > > the details of the driver<br>
> > > /home/projects/llvm/mpi/clang/bin/mpicxx and was<br>
> > > surprised by the 31st line:<br>
> > > prefix=/bgsys/drivers/ppcfloor/comm/gcc<br>
> > > When I look in the /bgsys/drivers/ppcfloor/comm folder, I notice<br>
> > > that there<br>
> > > are directories for gcc and xl, but none for Clang. Is there some<br>
> > > clear<br>
> > > explanation for this?<br>
> > ><br>
> > > Thanks!<br>
> > > Jack<br>
> > ><br>
> > > _______________________________________________<br>
> > > llvm-bgq-discuss mailing list<br>
> > > <a href="mailto:llvm-bgq-discuss@lists.alcf.anl.gov">llvm-bgq-discuss@lists.alcf.anl.gov</a><br>
> > > <a href="https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss" target="_blank">https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss</a><br>
> > ><br>
> ><br>
> ><br>
> ><br>
> > --<br>
> > Jeff Hammond<br>
> > Argonne Leadership Computing Facility<br>
> > University of Chicago Computation Institute<br>
> > <a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a> / <a href="tel:%28630%29%20252-5381" value="+16302525381">(630) 252-5381</a><br>
> > <a href="http://www.linkedin.com/in/jeffhammond" target="_blank">http://www.linkedin.com/in/jeffhammond</a><br>
> > <a href="https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond" target="_blank">https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond</a><br>
> > _______________________________________________<br>
> > llvm-bgq-discuss mailing list<br>
> > <a href="mailto:llvm-bgq-discuss@lists.alcf.anl.gov">llvm-bgq-discuss@lists.alcf.anl.gov</a><br>
> > <a href="https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss" target="_blank">https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss</a><br>
> ><br>
><br>
><br>
</div></div></blockquote></div><br></div>