[Rcpp-devel] Experiences with clang/llvm compilation of Rcpp-based code on Debian-based distributions
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