Category Archives: Ubuntu

c2d4u and RRutter Ubuntu PPA Updates

On January 27, 2014 Raring Ringtail (13.04) reached end of life. I have been slowly removing the Raring repositories from the RRutter PPA, c2d4u PPA, and CRAN. I think I have most of that cleaned up, so there is no longer support for R in Raring from my sites.

In April, Trusty Tahr will be releases. This is Ubuntu 14.04 and a LTS. I have already added Trusty to the RRutter PPA and c2d4u PPA. Once Trusty is officially released, I will also make it available on CRAN. Initially, all the packages on c2d4u are copied from Precise. This saves building 2000+ packages on the PPA. New and updated packages will be built for Trusty and Precise, with the Saucy packages copied from Precise.

Since Ubuntu has moved to the shorter life span model for non-LTS releases, this will be my approach. Base R and the recommended packages (the RRutter PPA) will be built against each release, but on c2d4u I will only be building pacakges for the last two LTS releases. Any non-LTS releases on c2d4u will consists of packages copied from the a previous LTS. This may create some strange naming conventions for the packages on c2d4u, but most users will never notice. If something does not work, please let me know.

Finally, I have been playing around with the download stats available from PPA via the Launchpad API. As of noon on March 14 (Happy Pi Day!), here are the download numbers for the “r-base” (version 3.0.3) package:

  • Precise: 302
  • Saucy: 143
  • Lucid: 10
  • Quantal: 9
  • Trusty: 4

Cran2deb4ubuntu: An Update for 2014

I have been a little quiet on the update front for the past few months, so I thought I would give a quick update as 2014 begins. Between increased responsibilities at work (pseudo-department chair) and some family health issues, work on cran2deb4ubuntu (c2d4u) slowed a bit in the last half of 2013. Here is the current state of cran2deb4ubuntu.

Precise and Raring continue to be updated

During the last half of 2013, Precise and Raring have been updated on more or less a weekly basis. In fact, additional packages from the CRAN Task Views have been added, bringing the total number of R packages available now exceeding 2000.

Quantal has been removed from c2d4u

Although Quantal (12.10) is still supported officially until April, I have a policy of maintaining only three releases on c2d4u. Space is a big issue, as well as trying to deal with build issues for 2000+ packages on four releases. I will always keep the latest LTS (currently Precise) and the latest two releases updated and available. With the release of Saucy, it was Quantal’s time to go. Base R packages will still be released for Quantal on CRAN and the RRutter PPA.

Saucy has been added to c2d4u

This took a while. With the move to shorter support schedules (Saucy will only be supported until July 2014), I was hesitant to put the time into building 2000+ plus packages for a release with a life span of only 9 months. However, I have recently spent some time with the Python interface to the Lauchpad API, and have created a series of scripts that allow me to copy 95% of the packages from one release to another. And that is how I created the Saucy c2d4u packages.

One problem with copying packages is that the have the same file name as the original packages. Therefore, 95% of the packages in the Saucy c2d4u PPA have “raring” in the file name. They still work in Saucy, and the only way you would notice is this if you closely watch apt output or the results of a synaptic search. As long as you keep your version of R current, I don’t see any reason why these “copied” packages will not work. If there is an issue, please let me know.

Changes going forward

I still plan on supporting only three Ubuntu releases at a time on c2d4u. However, to save myself and Launchpad time and effort, I will only be building packages for the latest LTS (currently Precise). Any other supported releases (Raring and Saucy) will now have the packages copied from the latest LTS to that release. To help with this, I will be eliminating the release name in the package build. For example, “lme4 – 1.0-5-1cran1precise0 ” will become “lme4 – 1.0-5-1cran1ppa0”. If the package was rebuilt especially for a non-LTS release, I will add the release name to the build.

If anyone discovers a copied package that does not work, let me know and I will add the package to a list to be built, not copied. This move should also allow for frequent and timely updates.

Honestly, with the move to shorter support cycles, I think a majority of R users who use Ubuntu will stick to the LTS releases. Therefore, I will concentrate my effort on those releases. The non-LTS releases will still be supported, but with the “copy” vs. “build” approach, I think the workload on my end will be more manageable.

Multi-threaded OpenBLAS backported to recent Ubuntu releases

OpenBLAS is a multi-threaded BLAS library that has been available in Ubuntu for a while, minus the multi-threading. This has been fixed for the OpenBLAS package to be released in Saucy Salamander, and I have backported the package to the more recent releases of Ubunutu, including Raring, Quantal, and Precise. The current version of OpenBLAS is 0.2.8-1.

To install the multi-threaded version of OpenBLAS, install my RDev PPA. Then run the following:

 sudo apt-get update sudo apt-get install libopenblas-base 

If you are using Precise (12.04) or Quantal (12.10), you will need to install more recent version of atlas and/or blas, which are also available on the RDev PPA. You will notice a warning about breaking older versions of atlas and blas, which is an indication that you will need to install the other packages.

The good news is that once you install the package, there is nothing you need to do to enable the library. It should also use the maximum number of cores available on your machine, up to 64 (hard limit coded into the package).

To test the library, run R-benchmark-25.R before you install the package and then after. Watch the number of cores being used (via htop, for example) with and without OpenBLAS. With OpenBLAS you should see all you cores ramp up to 100% when doing some of the benchmarks. The decrease in time to run the benchmark will vary from machine to machine. To remove the library, just remove the package.

If you have any questions or problems, please let me know.

cran2deb4ubuntu Updated for R 3.0.1 and Ubuntu 13.04

It has taken a long time, but cran2deb4ubuntu has been updated for R 3.0.1. Over 1000 R packages are available as .deb files (with dependicies) for Ubutnu 13.04 (raring), 12.10 (quantal) and 12.04 (precise).

These packages can be found at the c2d4u PPA. Instructions on how to install the PPA can be found on this webpage.

Hopefully, I have updated every package. If one has slipped through the cracks, please let me know via mail (marutter@gmail.com). The package list is based on the the CRAN Task Views, so if a package you use is missing, the best way to get it into c2d4u is to get it added to an appropiate Task View.

Backporting R 3.0.0 to Quantal, Precise, and Lucid

Today (May 4, 2013) I will begin the process of backporting R 3.0.0 to Quantal, Precise, and Lucid. This will include all the recommended packages and the packages for R found in the universe repository for Ubuntu. Things to keep in mind:

  • If you do not want to receive these upgrades and you use the CRAN repositories or my Launchpad PPA, please remove them from your apt/synaptic sources lists. This will keep you on your current versions.

  • You could pin the old versions (search google for “apt pinning”), but since updates will only be coming for R 3.0.0, it is easier to just remove the repositories.

  • This should be complete by Monday, but it may take longer depending on server load.

After the update process, base R and the recommended packages will be found on CRAN while all the other packages can be found at my PPA.

R 3.0.0 and Raring Ringtail (Ubuntu 13.04)

New .deb packages for R 3.0.0 on Raring Ringtail (13.04) are available on both CRAN and my Launchpad PPA. Some notes for this release.

  • The initial build for Raring Ringtail did not come with Tcl/Tk being supported. This issue has been addressed and the current release supports Tcl/Tk.

  • Due to a small configuration error on my server, the amd64 packages for Raring Ringtail did not sync to CRAN. This has been fixed and the 64-bit packages should be available soon on a CRAN mirror near you.

  • As has been previously discussed, R 3.0.0 requires that all packages be rebuilt against it. Therefore, all the r-cran-* packages found in the Ubuntu universe repository will not work with R 3.0.0. In an effort to rectify this, I have rebuilt a number of those packages against R 3.0.0 and they can be found at the RRutter PPA, but not CRAN. I am still having issues with a couple of packages, but I am working on those.

  • R 3.0.0 is still available for older Ubuntu releases on my RDev PPA. The plan is to upgrade Lucid, Precise, and Quantal this Friday evening (May 3rd, 2013) as well as many of the r-cran-* packages available in universe. If you do not want to upgrade to R 3.0.0, please remove the appropriate repository from you sources list.

Moving to R 3.0.0 on Ubuntu

As you may (or may not) be aware of, R 3.0.0 is scheduled to be released on April 3rd. Since this is a major release and there may be some growing pains (but I hope not) in the move 3.0.0, here is some information about how I will handle R 3.0.0 on CRAN and my PPAs for Ubuntu.

All packages must be rebuilt for R 3.0.0

Any installed packages you are currently using will have to be rebuilt using R 3.0.0. This could lead to some issues, especially is you are using the Ubuntu binaries on CRAN or my PPA. I will try to minimize these issues.

CRAN and RRutter PPA are now frozen to R 2.15.3 (with one exception)

Since many users would probably be alarmed to have production machines upgrade to R 3.0.0 without testing to see if any thing breaks, the packages on CRAN and the RRutter PPA will not be updated anymore. This means R is frozen with version 2.15.3 and the packages available will not be updated on CRAN or the RRutter PPA for now.

At some point, likely around May 1st, I will move CRAN and the RRutter PPA to version 3.0.0. This should give users plenty of time to remove those repositories from apt so the upgrades do not occur. I will warn everyone when I am about to do this.

The one exception to this rule will be the forth coming Ubuntu 13.04 (Raring Ringtail). When I add this release to CRAN and the PPA, I will be using R 3.0.0 and packages built against 3.0.0.

R 3.0.0 and recommended packages will be available on RDev PPA

If you do want to upgrade R to 3.0.0, you can use my RDdev PPA. This will have the latest version of R and the recommended packages built against it. Instructions on how to install the PPA are available at the RDdev PPA webpage. As of right now, only 12.10 (quantal) builds are available, but others will be added when bugs are worked out. Please, do not have the RDev PPA and (CRAN or RRutter PPA) enabled at the same time, as that could cause issues.

What about c2d4u?

Excellent question.

Stopping support for Hardy and Oneiric

Both Hardy (8.04) and Oneiric (11.10) are ending support in April 2013. Therefore, I will not be updating any version of R for these releases. I, for one, am happy to finally be able to rid myself of the albatross (or should I say heron) that is Hardy. I will not delete these files for a while, but there will be no further updates. Support for Lucid (10.04) will continue until April 2015 or until something becomes very broken.

Are you sure you don’t have anything to say about c2d4u?

c2d4u is an ambitious project that houses over 1000 packages for R as Ubuntu binaries that can be installed via apt or synaptic. You should really check it out. It has great packages like RCpp and ggplot2, among others.

My first priority will be is to build all the packages for Ubuntu 13.04 (Raring Ringtail) using R 3.0.0. After that is complete, I will start rebuilding the packages for 12.04 (Precise), the latest LTS, against 3.0.0. If I still have any patience left, I will convert the 12.10 (Quantal) packages over.

If you have any questions, please email me. My contact information can be found above.

R 2.15.3 .deb packages now available for Ubuntu

The latest version of R (2.15.3) is now available for Ubuntu. You can find the packages on CRAN or via my Launchpad PPA.

Just before the release of 2.15.3, a patch for “r-base” was released dealing with MD5 sums in the package the caused some problems on Quantal, but those have been resolved.

Also, a change in the version of “libtiff-dev” dependency caused some delays in the versions of “r-base” for Ubuntu releases prior to Quantal from building. Those issues have been resolved as well and the 2.15.3 is or will soon be available on the CRAN mirrors.

If there are any issues, please feel free to contact me.

rjags Updated and Numbering Corrected

On September 18th, Martyn Plummer updated rjags. Normally, this wouldn’t be a big deal, but a question came across the R-sig-debian mailing list about the package at the same time, and I noticed that my Ubuntu 12.04 (precise) machine was using version 3.3 from the Ubuntu universe repository and not the 3.5 version that is available at the RRutter or c2d4u PPAs.

Turns out the version numbering system used by Martyn is not compatible with the Ubuntu numbering system used for the package in the universe repository. The universe package is numbered “3.3” while Matryn’s numbering format uses all dashes, “3-5”. The debian version of the package has not been updated since 3.3, so the source package used to create my update was genereated via the cran2deb4ubuntu project and kept Martyn’s “-” version numbering.

Even though rjags 3-5 was available in the PPA, rjags 3.3 was considered a more recent version by Ubuntu and the package was never upgraded. It is possible to use apt pinning or synaptic to force the “newer” version, but I have correct the numbering issue and the newest version of r-cran-jags is numbered “3.7” and will update automatically.

Not sure if any other packages on c2d4u have similar issues. If anybody spots one, please let me know.

Installing RStan in Ubuntu

Based on RStan Getting Started

R packages

Assuming you have the most up to date version of R, the following packages need to be installed. This assumes you have the c2d4u PPA available. See here for more information.

 sudo apt-get install r-cran-rcpp r-cran-inline r-cran-rcpp 

C++ Compiler

You probably have a C++ compiler installed, but just in case:

 sudo apt-get install build-essential 

The “RStan Getting Started” page suggests modifying the C++ compiler optimization level. On my install of Ubuntu, the optimization was set as the page suggested. You can check with:

 grep "CXXFLAGS =" /usr/lib/R/etc/Makeconf 

Among the output of grep, you should see:

 CXXFLAGS = -O3 -pipe -g $(LTO) 

If you do not, use your favorite editor to edit “/ust/lib/R/etc/Makeconf” so that the CXXFLAGS line has “-03” as well as everything else that is there.

Install RStan

From within R, run the following commands. You will need to select a mirror, although it shouldn’t actually use it.

 options(repos = c(getOption("repos"), rstan = "http://wiki.stan.googlecode.com/git/R")) install.packages('rstan', type = 'source') 

It is a large download (for R, 2.3 Mb) and will take some time to compile.

Testing RStan

Now that RStan is installed, you can test it with the following code. RStan compiles the model, then runs it. It will take much longer to compile the code than it takes to generate the samples.