[Rcpp-devel] Experiences with clang/llvm compilation of Rcpp-based code on Debian-based distributions

Douglas Bates bates at stat.wisc.edu
Mon Aug 29 20:37:23 CEST 2011


On Mon, Aug 29, 2011 at 1:16 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
>
> On 29 August 2011 at 12:55, Douglas Bates wrote:
> | (Apologies for cross-posting but my request relates to both R/C++ and
> | to Debian-based platforms.)
>
> (I'm keeping this on rcpp-devel as it is more compiler than distro related.)
>
> | I was recently compiling Rcpp-based code on an Ubuntu system and had a
> | syntax error that produced a page or two of complicated error
> | messages.  A developer who main platform is a Mac said that the
> | compilers in clang/llvm provided more focussed and comprehensible
> | error messages.
> |
> | Has anyone tried compiling C++ code using Rcpp with clang++ on
> | Debian-based systems?  If so, what are your experiences?
>
> Well, let's see -- we learned that a large and well known "internet company"
> on the west coast, which also runs a rather popular search engine by the same
> name (hint, hint) has been using llvm/clang alongside g++.  We even got some
> patches for Rcpp and related projects (RInside, RProtoBuf) which we were glad
> to integrate.  I cannot speak for them and would encourage them to post their
> experiences here.

> Given that, I was also curious but only tried very naively and very briefly,
> and failed (on my default Ubuntu machine). Seems like it is not as easy as
> 'just' replacing the CXX variable.

On Ubuntu 11.04 even the patched clang package still appears to have
some peculiarities behavior. It looks for the system-wide include
files in /usr/include/c++/4.4 and not /usr/include/c++/4.5, even
though 4.5 is the default version of gcc on these systems.  The
clang++ compiler complained about constructions in
/usr/include/4.4/type_traits whether or not I used -std=c++0x

I'll see if I can convince clang++ to use /usr/include/c++/4.5 instead
of 4.4.  Or I suppose I could wait until the end of the week and
install Ubuntu 11.11 beta1 on an unused partition and try the 2.9
series of clang/llvm

> Anybody with more experience using clang++/llvm on Rcpp's code base please
> share your tips and tricks.
>
> Dirk
>
> --
> Two new Rcpp master classes for R and C++ integration scheduled for
> New York (Sep 24) and San Francisco (Oct 8), more details are at
> http://dirk.eddelbuettel.com/blog/2011/08/04#rcpp_classes_2011-09_and_2011-10
> http://www.revolutionanalytics.com/products/training/public/rcpp-master-class.php
>


More information about the Rcpp-devel mailing list