Repository navigation
noLD 'additional issue' on CRAN check page #3258
Description
Activity
- changed the title
[-]noLD additional issue on CRAN check page[/-][+]noLD 'additional issue' on CRAN check page[/+]on Jan 5, 2019 👀 with interest as I have a noLD problem on another package that I cant seem to reproduce in any of my environments...
R can be compiled with
--disable-long-doublebut I've had trouble too in the past.
Extract from https://cran.r-project.org/doc/manuals/r-devel/R-exts.html#Writing-portable-packagesIf you must try to establish a tolerance empirically, configure and build R with --disable-long-double and use appropriate compiler flags (such as -ffloat-store and -fexcess-precision=standard for gcc, depending on the CPU type85) to mitigate the effects of extended-precision calculations.
My attempts in the past are here : https://github.com/Rdatatable/data.table/blob/master/CRAN_Release.cmd#L265
- added a commit that references this issue
on Jan 11, 2019 FWIW I managed to set up
r-develand--without-long-doubleusing ther-develdocker image from Dirk:docker run --rm -it rocker/r-devel /bin/bash^ then
RD --without-long-doubleis what you want. Hopefully helpful to someone (e.g., future me)@MichaelChirico did you mean
--disable-long-doublehere as I pointed to above, not--without-long-double?yes 😅
@MichaelChirico if R has to be compiled with --disable-long-double, how it works on that docker image for you? https://hub.docker.com/r/rocker/r-devel/dockerfile doesn't have such compilation flag
Yes comment is a bit outdated. actually I don't know of any docker with a good noLD binary and even the build commands in CRAN_release.cmd weren't working for me last time I tried.
I was able to use rhub but IIRC it wasn't great for debugging, only for running the test suite. would be great if Winston's image would add a noLD binary.
Besides noLD I'm using
- rocker/r-ver for version-specific issues
- wch1/r-debug for valgrind/SAN stuff
link about rhub noLD:
We could add a built including such option.
We already have strict-barrier option in r-devel image, which is re-built daily, not a 9 months(?!) old rocker image.@jangorecki Yep: adding
--disable-long-doubleto the strict build sounds good to me. It feels like R-devel has had some configuration changes in the last few months. It works better now and I was able to simplify the commands in the CRAN_Release.cmd. e.g. don't need to pass CFLAGS= to./configureanymore. But if you do, as before, then it doesn't work. Or at least, that what it felt like. Once it worked I didn't investigate further.Yes but we want to have r-devel with long double too, right? I think I need to craft another image for that.
LD is already tested in r-release builds so that's fine I think. It would be better to do as you suggest. But this is a good opportunity to cut that corner because other things are much higher priority. Especially if it needs a new image. That's more work to setup and extends GLCI time every time, and those are costs to balance against the benefit.
Reacted by Jan Gorecki@mattdowle
added--disable-long-doubleto r-devel image: https://gitlab.com/jangorecki/dockerfiles/commit/67e74f723d6be4b4eb91bb1775f4b4b876ad0111
re-run r-devel job on recent master, test script Rout footer:sizeof(long double)==0Reacted by Matt DowleFWIW i think the "proper" test is:
capabilities('long.double')OK, the other one we already have in Routs of test scripts
Reacted by Michael Chirico- added a commit that references this issue
on Aug 6, 2020