Recent developments in CXXR are to be found at; see also the discussion group at The material below (and elsewhere on this website) relates to my original development of CXXR, which has been somewhat neglected of late, though I hope (as of 2015-04-02) to remedy this in the next couple of months.

CXXR is currently released only in source (.tar.gz) form: the current release is 0.42-2.15.1. Earlier releases, as well as the 'bleeding edge' development version, can be obtained from the Subversion repository; see the refactoring history for what has changed from release to release.  Please make yourself known to me if you try CXXR, and contact me with any queries (address at foot of page).

Note for Subversion users regarding 0.26-2.10.1 and later: if you svn update a working directory which previously contained 0.25-2.9.2 or earlier it is necessary 'manually' to delete the directories library/*/R-ex beneath trunk; otherwise make check will glean examples from obsolete manual pages.

Note for Subversion users regarding 0.36-2.13.1 and later: if you svn update a working directory which previously contained 0.35-2.12.1 or earlier you may find it necessary to delete manually the files src/main/gram{,Latex,Rd}.{c,d}. In 0.36-2.13.1, gramRd.c was superseded by gramRd.cpp, and a corresponding change has subsequently affected gram.c and gramLatex.c.

CXXR makes use of the Boost libraries, available from Boost is available as a package as part of many Linux distributions. It is available in prepackaged form for Mac OS from  CXXR currently requires Boost version 1.53.0 or newer.  Try configure --help if you have a suitable Boost installed but the configure script is unable to find it.

To build CXXR, follow the instructions in the INSTALL file in the top-level directory. Then invoke CXXR by running bin/R from within the build directory; the usual R options are available. At this early stage of development, installing CXXR is definitely not recommended - it would overwrite your standard R installation - and consequently make install will simply give a warning message and fail.

The configuration option --enable-provenance-tracking can be used to enable the experimental provenance tracking facilities, and in particular the provenance.graph R command.  Beware that these facilities are subject to change, and that cross-session provenance-tracking requires use of the new CXXR serialization facilities which are equally subject to change.

Please note that as downloaded, CXXR will compile without any C++ compiler optimisation and with a number of additional runtime checks enabled, and as a result CXXR will run considerably slower than CR. You will notice this even during the build process: do not be surprised if 'make' takes well over an hour. (The use of the configuration option --disable-byte-compiled-packages is recommended; this will speed things up somewhat.)  However, you are strongly advised to use this configuration until you are confident that CXXR is running correctly on your platform and with your application, packages etc. After that, see the FAQ on how to rebuild for maximum performance.

Platform-specific notes

(all on 32-bit Intel, unless otherwise stated):

Microsoft Windows
CXXR has not yet been ported to any flavour of Windows: sorry! (Volunteers welcome!)
Linux: Fedora 9 using gcc 4.3.0
Builds and checks OK, make check-devel OK (using packages gcc-4.3.0-8, glibc-2.8-8, libstdc++-4.3.0-8). (Last checked for CXXR 0.36-2.13.1.)
Linux: openSUSE 12.2 using gcc 4.7.1
(Using packages gcc-4.7-2.1.1, glibc-2.15-22.17.1, libstdc++47-4.7.1-20120723-1) This is currently my main development platform. Builds and checks OK. make check-devel OK. tools::testInstalledPackages(types=c("tests", "vignettes"))) OK.
Linux: Ubuntu 8.10 using gcc 4.3.2
Builds and checks OK (using packages gcc 4.3.2-1ubuntu11, libc6 2.8~20080505-0ubuntu9, libstdc++6 4.3.2-1ubuntu12).  (Last checked for 0.41-2.15.1.)
Mac OS X 10.6.8 using Xcode 3.2.5, 64-bit Intel
Builds OK following the instructions in the R for Mac OS X FAQ, with appropriate variations. Not extensively tested, but make check is OK. (Beware that some Apple header files, in particular CFBundle.h, are inconsistent with non-Xcode versions of gcc, and give rise to the error message "format string argument not a string type".)
Mac OS X 10.5.4 using gcc 4.3.3, Intel processor
Can be made to build and check OK. However, note that tr1::unordered_map included with gcc 4.0.1 is broken; this was the version of gcc supplied with Xcode at release 3.1.3. For CXXR to build, it is necessary to use a later version of gcc, such as the gcc43 package of MacPorts; some tweaking is then necessary for the CXXR build process to use the right compilers and the right libraries. Not checked with recent releases.
SunOS 5.9 on Sparc using gcc 4.2.1 and GNU make
connections.cpp (and possibly other files) fail to compile owing to an inconsistency vis-à-vis the system header files. (Not recently retested.) Let me know if this causes you problems; otherwise fixing it is low priority.

Preprocessor variables

The file src/include/CXXR/config.hpp can be edited to define (or leave undefined) various C/C++ preprocessor variables, which configure debugging and optimisation options, but which are not controlled by options to the autoconf configure script. Refer the the doxygen documentation of this file for further information.