[R-pkg-devel] Compiler choice on CRAN (R-windows-oldrel)
peter dalgaard
pdalgd at gmail.com
Thu Aug 25 12:17:28 CEST 2016
I don't have hard info on ABI compatibility between gcc versions, but there have been issues in the past, at least with with gfortran.
Now, many people/schools will have R-3.2.x installed, built with gcc 4.6.y. We cannot retroactively recompile their installation, nor expect them to install a new version built with gcc 4.9.z. This raises a specific question and a generic one:
- specific: Will a package binary of gower built with 4.9 work with R built with 4.6?
- generic: Is is sufficiently likely that a given package if compiled with a different compiler version that CRAN would consider having a mechanism to specify a particular compiler version?
I suspect that the answer to the second question is no.
Whether to condition on R >= 3.3 is a good idea largely depends on two things
- the user base (would they upgrade R anyways?)
- are there other packages that depends on gower? (CRAN keeps only the newest version of a package so requiring a newer R could affect users with less aggressive update policies. This already happened when the pbkrtest package update rendered the car package unloadable.)
You do have a 4th option: conditionalize the _code_ on the R version, then remove old-style code when 3.2.x becomes history.
-pd
On 25 Aug 2016, at 11:20 , Mark van der Loo <mark.vanderloo at gmail.com> wrote:
> Dear listers,
>
>
> Compilation of my gower pkg fails on R-oldrel-windows. I am pretty sure
> that this is because it uses gcc 4.6.3 which has limited support for OpenMP
> (the errors are the same as I got on the old travis-ci build environment,
> see my related question[1]).
>
> Now, according to the Rtools page[2], since R3.2.2 "Both the gcc 4.6.3
> toolchain and a toolchain based on gcc 4.9.3 and mingw-w64 v3 are now
> included." Not sure what that says about CRAN, but I'm hoping/guessing it
> uses Rtools the same way as we do.
>
> So I guess I have the following options:
>
> - make my package depend on R>=3.3
> - Alter my code (as kindly suggested by Ott Toomet in [1])
> - Tell CRAN to use the modern compiler.
>
> Obviously, the latter would be easiest. Is this is even possible? For a
> local installation I could set an environment variable[3], but how about
> doing this at CRAN?
>
> Thanks,
> Mark
>
>
> [1] https://stat.ethz.ch/pipermail/r-package-devel/2016q3/000983.html
> [2] https://cran.r-project.org/bin/windows/Rtools/
> [3]
> https://cran.r-project.org/doc/manuals/r-release/R-admin.html#Customizing-package-compilation
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-package-devel
mailing list