rstantools icon indicating copy to clipboard operation
rstantools copied to clipboard

Remove System Requirements: GNU make by default?

Open statasaurus opened this issue 10 months ago • 6 comments

I used rstantools to add stan to an existing package. And now I am putting it into cran, I have got feedback from CRAN that it shouldn't really be used as rstan can deal with the more recent standards. So should this be removed?

https://github.com/stan-dev/rstantools/blob/e5506cb154db04afd232405dda1a6c0537f41e7f/inst/include/sys/DESCRIPTION#L16

statasaurus avatar Feb 21 '25 13:02 statasaurus

We add GNU make as a requirement since the makefiles use shell calls for setting compiler flags (in the same way as the RcppParallel package), which isn't standard POSIX-make syntax and causes an R CMD check error.

Would you be able to share what the exact feedback from CRAN was? We haven't heard about it from any of our other packages, so would be good to know if there's an upcoming change/requirement that we'll need to accommodate

andrjohns avatar Feb 22 '25 04:02 andrjohns

Sure, Yeah I got this message from Uwe

Well, rstan can deal with all more recent standards these days, so I believe you could also use C++ standards newer than 11? Note that 11 support will be dropped by some modern compilers. So dropping that requirement would really be welcome.

statasaurus avatar Feb 24 '25 09:02 statasaurus

Ah yes that's not referring to GNU make. Do you have SystemRequirements: C++11 or similar in your DESCRIPTION file?

andrjohns avatar Feb 24 '25 09:02 andrjohns

Sorry, I was only grabbing part of the email chain the first was this

Thanks, we see:

GNU make is a SystemRequirements.

Is this really required?

statasaurus avatar Feb 24 '25 10:02 statasaurus

Got it! In that case you can just provide my comment above as a response from the rstan devs for why we add GNU make (or link to this github issue)

andrjohns avatar Feb 24 '25 10:02 andrjohns

Thank you for your quick response 😄

statasaurus avatar Feb 24 '25 14:02 statasaurus