[CMake] Better BlueGene/P and cross-compile support for CMake

Alexander Neundorf a.neundorf-work at gmx.net
Thu Jun 24 16:52:24 EDT 2010


On Thursday 24 June 2010, Marcel Loose wrote:
> Oops! Forgot to CC to the list.
>
>
> Hi Tod,
>
> I'll try to answer some of your questions below inline (I've snipped off
> parts of your mail). We're also using a BlueGeneP, but not for so many
> packages/executables as you probably do.
>
> On Wed, 2010-06-23 at 01:02 -0700, Todd Gamblin wrote:
> > Hi,
>
> -- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< --
>
> > I was able to build with either if I just manually specified the
> >
> > compilers and linker like this:
> > > env CC=gcc C++=g++ LD=ld ./bootstrap --prefix=${CMAKE_HOME}
> > >
> > >
> > > env CC=xlc C++=xlC LD=xlC ./bootstrap --prefix=${CMAKE_HOME}
>
> That is probably the safest way to do it, anyways. You then have full
> control over which compiler is used to build your stuff.
>
> > But It would've been nice if I didn't have to do all that.  Is PPC
> > Linux not used many other places anymore?  I guess this is a
> > sles10/ppc64 environment, so maybe that is throwing the script off.
> >
> >
> >
> >
> > 2. The FindMPI module's library search breaks because the the
> > cross-compiler name on BlueGene/P contains -l. Specifically, the GNU
> >
> > compute node compilers on BlueGene/P are named like this:
> > > powerpc-bgp-linux-g++
> >
> > And the FindMPI module claims that it can't find the '-inux-g++'
> > library, or something similar.  I was able to fix this by modifying
> > FindMPI's search to look for -l only when it's followed by a space.
> >  This is a little worrisome because I think that is a standard gnu
> > naming convention, so other platforms with compilers named blah-linux
> > are going to have the same bug.
>
> That is a known bug. I've filed it in the bug tracker
> http://www.vtk.org/Bug/view.php?id=9093. I've also uploaded a patch
> (take the second one), that fixes that problem.

In the bug report you say "This patch is NOT heavily tested!"

Is this still true ?

Alex


More information about the CMake mailing list