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 at 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
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 at r-project.org on behalf of
kasperdanielhansen at 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
without having a compliant compiler?
On Thu, Jul 25, 2019 at 12:05 PM Simo Kitanovski <
simo.kitanovski at uni-due.de>
> Hello Bioconductor community,
>
> I maintain the Bioconductor package genphen which depends on
> MCMC sampling. To build the package one needs a C++14 compiler.
>
> I have no problem building the package on malbec1 and merida1,
> on tokay1. Any idea of what might have gone wrong on this server
> to use C++14? I have submitted a new package (IgGeneUsage) which
> 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'
--
Best,
Kasper
[[alternative HTML version deleted]]