[Bioc-devel] tokay1 C++14 compiler

Simo Kitanovski @|mo@k|t@nov@k| @end|ng |rom un|-due@de
Mon Jul 29 21:54:36 CEST 2019


Surprisingly, if I design the package such that the stan models are 
compiled only at run-time I get no issues -> all servers build the 
package correctly. 
(https://github.com/Bioconductor/Contributions/issues/1187)

On the other hand, if I follow the rstan instructions on how to design 
an R package that depends on rstan, based on which the stan models are 
compiled only once during the build, then I get the previously mentioned 
failure only on the windows-based server.

BTW: Recent updates from stan community suggest that the new rstan 
version 2.20 will reduce the model compilation time from ~35sec to 
~7sec, which makes the decision of sticking with the run-time 
compilation setup not so bad.

On 29.07.19 8:37 nachm., Kasper Daniel Hansen wrote:
> My understanding - and I could be wrong - is that Stan compiles a 
> model, so the compiler needs to be available at run time and not just 
> at build time.
>
> On Thu, Jul 25, 2019 at 4:02 PM Simo Kitanovski 
> <simo.kitanovski using uni-due.de <mailto:simo.kitanovski using uni-due.de>> wrote:
>
>     Thanks!
>
>     I will try to revise the code to avoid CXX14 if this is that case.
>
>     Best
>
>
>     On 25.07.19 11:52 nachm., Martin Morgan wrote:
>     > Windows (and macOS) CRAN packages are installed as binaries (as
>     experienced by the typical user), so don't need compilation--
>     Rstan is built by CRAN through whatever magic / agreement.
>     >
>     > The paragraph at the very end of
>     >
>     >
>     https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Using-C_002b_002b14-code
>     >
>     > suggests
>     >
>     > Note that g++ 4.9.x (as used for R on Windows at the time of
>     writing) has only partial C++14 support, and the flag to obtain
>     that support is not included in the default Windows build of R
>     >
>     > so my understanding of this is that CXX14 is not supported on
>     Windows. The options are either to revise your code to avoid CXX14
>     or to anticipate that your package will be 'Unsupported on
>     Windows' (thereby losing 1/2 your user base).
>     >
>     > The expert on this (Hervé) will not be back for several days.
>     >
>     > Martin
>     >
>     > On 7/25/19, 6:33 PM, "Bioc-devel on behalf of Kasper Daniel
>     Hansen" <bioc-devel-bounces using r-project.org
>     <mailto:bioc-devel-bounces using r-project.org> on behalf of
>     kasperdanielhansen using gmail.com
>     <mailto:kasperdanielhansen using gmail.com>> wrote:
>     >
>     >      What's weird here is that you supposedly depend on rstan
>     which also
>     >      requires a C++14. How can the build system have that
>     package installed
>     >      without having a compliant compiler?
>     >
>     >
>     >      On Thu, Jul 25, 2019 at 12:05 PM Simo Kitanovski
>     <simo.kitanovski using uni-due.de <mailto:simo.kitanovski using uni-due.de>>
>     >      wrote:
>     >
>     >      > Hello Bioconductor community,
>     >      >
>     >      > I maintain the Bioconductor package genphen which depends
>     on rstan for
>     >      > MCMC sampling. To build the package one needs a C++14
>     compiler.
>     >      >
>     >      > I have no problem building the package on malbec1 and
>     merida1, but not
>     >      > on tokay1. Any idea of what might have gone wrong on this
>     server and how
>     >      > to use C++14? I have submitted a new package
>     (IgGeneUsage) which also
>     >      > uses rstan and have the same problem (see build report
>     below).
>     >      >
>     >      > BTW: why do we see this under the C++14 compiler box for
>     tokay1:
>     >      > Compiler version (' --version' output):
>     >      > '--version' is not recognized as an internal or external
>     command,
>     >      > operable program or batch file.
>     >      >
>     >      > Any ideas?
>     >      >
>     >      > Best
>     >      >
>     >      > ===============================
>     >      >
>     >      >   R CMD BUILD
>     >      >
>     >      > ===============================
>     >      > * checking for file 'IgGeneUsage/DESCRIPTION' ... OK
>     >      > * preparing 'IgGeneUsage':
>     >      > * checking DESCRIPTION meta-information ... OK
>     >      > * cleaning src
>     >      > * installing the package to build vignettes
>     >      >        -----------------------------------
>     >      > * installing *source* package 'IgGeneUsage' ...
>     >      > ** using staged installation
>     >      > ** libs
>     >      > Error in .shlib_internal(args) :
>     >      >    C++14 standard requested but CXX14 is not defined
>     >      > * removing
>     >      >
>     >      >
>     'C:/Users/pkgbuild/AppData/Local/Temp/RtmpUDyHnY/Rinst315c22dc5ac/IgGeneUsage'
>     >      >        -----------------------------------
>     >      > ERROR: package installation failed
>     >      >
>     >      > _______________________________________________
>     >      > Bioc-devel using r-project.org
>     <mailto:Bioc-devel using r-project.org> mailing list
>     >      > https://stat.ethz.ch/mailman/listinfo/bioc-devel
>     >      >
>     >
>     >
>     >      --
>     >      Best,
>     >      Kasper
>     >
>     >       [[alternative HTML version deleted]]
>     >
>     >      _______________________________________________
>     > Bioc-devel using r-project.org <mailto:Bioc-devel using r-project.org>
>     mailing list
>     > https://stat.ethz.ch/mailman/listinfo/bioc-devel
>     >
>
>
>
> -- 
> Best,
> Kasper

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list