[Cdash] CDash @Home with multiple compilers on a client

David Cole david.cole at kitware.com
Wed May 9 20:53:56 UTC 2012

On Wed, May 9, 2012 at 12:16 PM, Chuck Atkins <chuck.atkins at kitware.com> wrote:
> I'm trying to set up several repos to build via CDash @Home and I'm having
> trouble getting the clients to work properly with multiple compilers.  For
> example:  I have a mac that I'd like to use to build with both gcc and
> clang.  So I have the following in the site xml:
>   <compiler>
>     <name>gcc</name>
>     <version>4.2.1</version>
>     <generator>Unix Makefiles</generator>
>   </compiler>
>   <compiler>
>     <name>clang</name>
>     <version>3.1</version>
>     <generator>Unix Makefiles</generator>
>   </compiler>
> And in the build scheduler interface on CDash, I can see the 1 site with
> both compilers as an option.  But when I select gcc to schedule a build, the
> client seems to get confused.  It ends up using /usr/bin/gcc for the C
> compiler but /usr/bin/c++ (clang) for the c++ compiler instead of
> /usr/bin/g++.
> So my 2 (unrelated) questions are:
> 1.  How can I make sure the right commands get executed for different
> compilers on the same client site?

The way things are right now, I don't think this is reasonably
achievable. In an already-configured build tree, the cached compiler
wins, so you would not be able to do incremental builds in a given
client side build tree. The information about choosing the compiler is
best specified as ENV{CC} and ENV{CXX} values prior to invoking CMake.
Perhaps CDash, if it knew the full path names of both the C and C++
compilers, could specify it in the generated script, and it would take
effect at least on initially empty build trees.

But right now, I think it's just setting some variables, and they
don't have the downstream effect that you're looking for. I think it's
intended more for informational purposes about what's available on
what machines.

> 2.  Entirely unrelated, what are the <include> and <path> tags used for in
> the <library> tags?

This one, I don't know...

> I also think I may have found an unrelated bug:
> If I have a "/" character in my CTEST_BUILD_NAME, then CDash doesn't seem to
> interpret the submission properly and creates two entries.  This comes up
> because I set the CTEST_BUILD_NAME to include the git branch name and my git
> branches usually have "/" characters in them (we effectively use it as a
> name space)

Using "/" in a build name is going to result in unexpected behavior on
the CDash server, because we use the build name as a piece of the name
of the backup file for saving the XML files in the CDash backup
directory. So, at the very least, I'd expect the backup files from
such builds to be missing. You'd have to check the cdash.log file to
see if there are any other ill effects from having "/" in the build
name. Same goes for site name.

Is there anything apparently incorrect in the CDash UI for such build names?

> Thanks
> - Chuck
> _______________________________________________
> Cdash mailing list
> Cdash at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/cdash

More information about the CDash mailing list