rdotnet / rClr

R package for accessing .NET
63 stars 28 forks source link

R 3.5: package ‘rClr’ was installed by an R version with different internals; it needs to be reinstalled for use with this R version #36

Open Ductomaniac opened 6 years ago

Ductomaniac commented 6 years ago

rClr seems to no longer be working with the newest version of R, 3.5. Looks like it needs a rebuild with 3.5

jmp75 commented 6 years ago

Indeed, this relates to this R.NET issue 70

Ductomaniac commented 6 years ago

Are there any updates on when this issue will be solved?

alfirrell commented 6 years ago

This is hurting us as well, on R v3.5.1. Is rClr dependent on R.NET (and hence suffering the same issue directly), or is it just that the base issue is the same so once a solution for R.NET is found that'll guide the solution for rClr too? Happy to assist if there's something which can be passed over.

sheripshan commented 5 years ago

@jmp75 Having same issue here. Is the advice to roll-back to 3.4? The thread to issue 70 suggests that there is a fix in place. Fairly new to all of this so not sure how to implement it to my code.

Thanks for the help!

UnclAlDeveloper commented 5 years ago

@jmp75 Is there any progress on this. I just upgraded to R-3.5.3 after install the statstag branch of R.Net which now seems to work fine with R-3.5. I will revert back to R-3.4.4 again, although I have found at least one package that is not backward compatible with 3.4. Have you tried contacting the people working on the statstag branch of rdotnet to find out what their solution was?

jmp75 commented 5 years ago

@UnclAlDeveloper There is an alpha version of the R.NET nuget package that includes changes for working on 3.5.x and to some extend some backward compatibility to pre 3.5 (not on Linux).

I am not sure whether rClr C code needs further changes though; things should compile but not sure if and what runtime issues will show up due to ALTREP.

Only one of my project marginally uses rClr lately so limited resources to look at it, but will try. Medium term I am considering options to hand over further development to an organisation.

pierre-ange commented 5 years ago

@jmp75 I see that some work has been done on the testing branch to make rClr work with R3.5. I am really struggling to build the testing branch from source as it requires a few more tools than the typical R package and I don't have all the pre-requisites installed. Could you possibly share the pre-compiled binary rClr which work on R 3.5 (the one in testing)? Thanks

jmp75 commented 5 years ago

@pierre-ange I assume you are aiming for R 3.5.x on Windows ? I've built/uploaded an R binary package for windows, rClr 0.8.1-beta

pierre-ange commented 5 years ago

@jmp75 Thank you! Although .. this does not work as I get the following error message when loading the library: "The program can't start because MSVCPD120D.dll is missing from your computer.". After some research it seems that files with capital letters like this one are debug versions. Did you deploy the Release build, or the Debug build?

jmp75 commented 5 years ago

@pierre-ange I very likely did, either for R.NET or the rClr .NET assemblies. I'll try to spend some time today to fix this. Apologies, I am feeling quite worn down lately, and it shows.

rClr 0.8.2-beta with the native library in Release mode. I have changed the .NET assemblies to target netstandard2.0, but rClr will still load the .NET Framework runtime not .NET Core (entirely different API SFAIK)

pierre-ange commented 5 years ago

@jmp75 No worries at all. Just installed 0.8.2 and tested it briefly on my machine, looks good so far. Really appreciate your work on this, thanks.

UnclAlDeveloper commented 5 years ago

@jmp75 I tried installing rClr 0.8.2-beta and as soon as I do library(rClr) from either RStudio or just basic R it immediately crashes. I am using R v3.5.3 on Windows System Server 2016 Datacenter. Is there any sort of log output that may make it easier to isolate the error?

jmp75 commented 5 years ago

@UnclAlDeveloper I cannot recall additional log options at that level; sounds like something happens at the C level within:

    start_ms_clr();
    rclr_ms_create_domain(appBaseDir);

Error conditions within these should have still been reported at the R console, effectively the logging system. Were I faced with this I would consider compiling the native library in debug mode with VS(2013), place the dll and .pdb within the installed R package, and attach VS to the R process before loading rClr.

It is possible to build the R package directly with debug mode by using set BuildConfiguration=Debug before building, if this helps.